比较2个csv文件pandas by column [关闭]

d7v8vwbk  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(158)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答案。

这个问题似乎不是关于help center定义的范围内的编程。
27天前关闭
Improve this question
我有2个CSV文件

  • 一个.csv*

| 供应商代码|成本价|
| --|--|
| 1 |2.25|
| 2 |一点二五|
| 3 |三点二十五分|

  • 两个.csv*

| 供应商代码|成本价|
| --|--|
| 1 |2.25|
| 2 |一点七五|
| 3 |三点七五|
| 5 |一点二五|
所以one.csvtwo.csv相比
ONE.csv在2列中有大约500个值。TWO.csv在2列中有10000个值。文件的形状相同。代码列不变,但在ONE.csv/TWO.csv中存在或不存在
我想做的是:
1.查找ONE.csv中所有供应商代码的子集,这些代码存在于TWO.csv中,成本价格从TWO.csv更新
1.输出到CSV文件
预期产出:

Supplier Code,Cost Price
1,2.25
2,1.75
3,3.75

字符串
这就是我所尝试的...

one = pd.read_csv(ONE_PATH)
two = pd.read_csv(TWO_PATH)

present_in_two = one[one['Supplier Code'].isin(two['Supplier Code'])]

print(present_in_two.head())


我得到:

Empty DataFrame
Columns: [Supplier Code, Cost Price]
Index: []


Edit:Corrected typo..

rkkpypqq

rkkpypqq1#

这适用于您的用例。
合并键Supplier Code上的两个字符串,合并时仅选择df_one中的键列。
将选择也存在于df_one上的数据表单df_two

dict_one = {"Supplier Code": [1, 2, 3], "Cost Price": [2.25, 1.25, 3.25]}
dict_two = {"Supplier Code": [1, 2, 3, 5], "Cost Price": [2.25, 1.75, 3.75, 1.25]}

df_one = pd.DataFrame(dict_one)
df_two = pd.DataFrame(dict_two)

df_merged = pd.merge(df_one[["Supplier Code"]], df_two, on="Supplier Code")
df_merged

个字符

相关问题