python - 我们如何使用合并操作后找到的数据更新相似列的行中的列数据?

标签 python python-3.x pandas numpy dataframe

我可以用连接函数找到相等的列数据。但我还有其他想做的事情。
例如;如果第二个文件中的'客户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/

相关文章:

python - 在 Pandas 中,如何根据其他列的常见相互关系创建唯一 ID?

python - 如何在hadoop作业中读取其他文件?

python - 如何在Python脚本中指定要更改的xml文件中的多个字符串?

python - 属性错误: 'AnonymousUserMixin' object has no attribute 'can'

python - Haversine 距离的最小值的有效计算

python - 如何找到哪些单元格无法转换为 float ?

python - pandas Series.tolist() 中的 NaN 与 list 中的 NaN 的行为不同

python - 随机生成一个与给定正则表达式不匹配的字符串

python - PyQT 4 fnished() 信号不会发出

python - 如何仅对数据集的特定列进行标签编码?