自定义函数,用于基于具有不同名称的通用cloumn合并两个csv文件

时间:2019-09-10 06:58:17

标签: python pandas

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

编写一个使用熊猫的函数create_result(“ X.a | X.b | X.c | Y.e”,“ X.a = Y.d”)

这将创建result.csv,其中X和Y中的列作为上述参数传递,并且列值根据两个文件之间的键映射,指定为第二个参数-X.a和Y.d

结果应该是这样

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)

我没有得到想要的输出。

1 个答案:

答案 0 :(得分:0)

您可以rename列并通过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