我可以用连接函数找到相等的列数据。但我还有其他想做的事情。
例如;如果第二个文件中的'客户ID'的值等于第一个文件中的客户ID;我想将'customer rating'列中的值保存在同一行中'customer rating'列中'customer id'列在第一个文件中相等的行中的值相同。
pd.merge(first_file_data,second_file_data,left_on='CUSTOMER ID',right_on='CUSTOMER ID')
输出:合并交易中的类似客户 ID:
第一个文件
CUSTOMER ID CUSTOMER SCORE
0 3091250 Nan
1 1122522 Nan
SECOND_FİLE CUSTOMER ID CUSTOMER SCORE
0 3091250 750
1 1122522 890
最佳答案
您可以使用 df.fillna()
功能。只需在 df1
上设置相同的索引和 df2
:
out = df1.set_index('CUSTOMER_ID').fillna(df2.set_index('CUSTOMER_ID')).reset_index()
print(out)
打印: CUSTOMER_ID CUSTOMER_SCORE
0 3091250 750.0
1 1122522 890.0
编辑:仅在 df1 中的一行中替换 NaN:
df1['CUSTOMER_SCORE'] = df1.set_index('CUSTOMER_ID')['CUSTOMER_SCORE'].fillna(df2.set_index('CUSTOMER_ID')['CUSTOMER_SCORE']).values
print(df1)
打印: CUSTOMER_ID CUSTOMER_SCORE
0 3091250 750.0
1 1122522 890.0
关于python - 我们如何使用合并操作后找到的数据更新相似列的行中的列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64514685/