我有两个csv文件:1.csv和2.csv。
1.csv
id,name
a1, ABC
b2, CDF
x3,GIK
2.csv
id,name
x3,XYZ
a1,MNK
b2,NNN
我想使2.csv的id字段与1.csv中的id字段相同,并且还要更改与该id对应的名称顺序。所以2.csv的输出将是
id,name
a1, MNK
b2, NNN
x3,XYZ
我正在做以下事情,但是过程太慢了,因为它使用了两个循环。如何加快速度?谢谢
df_1 = pd.read_csv('1.csv')
df_2 = pd.read_csv('2.csv')
for index_1, row_1 in df_1.iterrows():
for index_2, row_2 in dr_2.iterrows():
if (row_1['id']==row_2['id']):
print(row_1['id'], row_2['name'])
continue;
答案 0 :(得分:1)
尝试一下:
import pandas as pd
df_1 = pd.read_csv('1.csv')
df_2 = pd.read_csv('2.csv')
df_2 = df_2.set_index("id")
df_2 = df_2.reindex(index=df_1.id)
df_2.to_csv('2_reordered.csv')