【发布时间】:2019-12-12 13:12:57
【问题描述】:
我有两个 csv 文件,我正在尝试使用以下代码将其合并到一个数据框中:
import pandas as pd
df_1 = pd.read_csv('A.csv')
df_2 = pd.read_csv('B.csv')
df_3 = df_1.merge(df_2, on='Material_Number_ID', how='left')
我试图将它们合并到 (Material_Number_ID) 上的字段是一个 12 位数字,当我将其保存为 csv 时,它会转换为文本字段。这阻止了我将该字段用作链接,因为它无法识别数字不同。
Dataframe A:
Material_Number_ID Material_Type
0 4.920000e+11 FINISHED GOODS
1 4.920000e+11 FINISHED GOODS
Dataframe B:
Material_Number_ID Merch_Org
0 4.920000e+11 ACCESSORIES
Output:
Material_Number_ID Material_Type Merch_Org
0 4.920000e+11 FINISHED GOODS ACCESSORIES
1 4.920000e+11 FINISHED GOODS ACCESSORIES
问题是第 1 行不应该找到匹配项,因为在原始编号的第 12 位,Material_Number_ID 不同。
预期输出是
Material_Number_ID Material_Type Merch_Org
0 4.920000e+11 FINISHED GOODS ACCESSORIES
1 4.920000e+11 FINISHED GOODS NaN
我知道答案是以某种方式更改材料编号,但我不知道正确的方法。
谢谢!
【问题讨论】:
标签: python pandas dataframe text merge