首页 > 解决方案 > 自定义函数以基于具有不同名称的通用 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)

我没有得到想要的输出。

标签: pythonpandas

解决方案


您可以从两个srename列和合并:aDataFrame

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

推荐阅读