如何基于另一个查找数据框在一个数据框之间合并。
这是我要替换值的数据框 A:
InfoType IncidentType DangerType
0 NaN A NaN
1 NaN C NaN
2 NaN B C
3 NaN B NaN
这是查找表:
ID ParamCode ParamValue ParmDesc1 ParamDesc2 SortOrder ParamStatus
0 1 IncidentType A ABC DEF 1 1
1 2 IncidentType B GHI JKL 2 1
2 3 IncidentType C MNO PQR 7 1
2 3 DangerType C STU VWX 6 1
预期输入:
InfoType IncidentType DangerType
0 NaN ABC NaN
1 NaN MNO NaN
2 NaN GHI STU
3 NaN GHI NaN
请注意,这ParamCode是列名,我需要替换ParamDesc1为数据框 A 中的相应列。数据框 A 中的每一列都可能有 NaN,我不打算删除它们。只是忽略它们。
这就是我所做的:
ntf_cols = ['InfoType','IncidentType','DangerType']
for c in ntf_cols:
if (c in ntf.columns) & (c in param['ParamCode'].values):
paramValue = param['ParamValue'].unique()
for idx, pv in enumerate(paramValue):
ntf['NewIncidentType'] = pd.np.where(ntf.IncidentType.str.contains(pv), param['ParmDesc1'].values, "whatever")
错误 :
ValueError: 操作数不能与形状 (25,) (13,) () 一起广播
青春有我
繁花不似锦
相关分类