python - 自定义函数以基于具有不同名称的通用 cloumn 合并两个 csv 文件
问题描述
a,b,c
5,Ugh,wq
2,Kj,asd
3,Yu,Dx
4,Po,Cv
d,e
3,8i
4,Y6
2,X09
5,m3
编写一个使用 pandas 的函数 create_result(“Xa|Xb|Xc|Ye” , “Xa=Yd”)
这将创建 result.csv,其中 X 和 Y 的列作为上述参数传递,并且列值根据 2 个文件之间的键映射,指定为第二个参数 - Xa 和 Yd
结果应该是这样的
a,b,c,f
5,Ugh,wq,m3
2,Kj,asd,X09
3,Yu,Dx,8i
4,Po,Cv,Y6
我试过这样的功能
x=pd.read_csv("C:/Users/Venkata sai/Desktop/SQL_VENKATASAI_ASSIGNMENT/test/X.csv")
y=pd.read_csv("C:/Users/Venkata sai/Desktop/SQL_VENKATASAI_ASSIGNMENT/test/Y.csv")
print(x)
print(y)
def create_result(x,y):
merged=pd.merge(x,y,on='x.a=y.d')
print(merged)
merged.to_csv("resultstable.csv",index=false)
我没有得到想要的输出。
解决方案
您可以从两个srename
列和合并:a
DataFrame
df = pd.merge(df1,df2.rename(columns={'d':'a'}), on='a')
print (df)
a b c e
0 5 Ugh wq m3
1 2 Kj asd X09
2 3 Yu Dx 8i
3 4 Po Cv Y6