Python Pandas - 重命名并合并3个数据集

时间:2017-10-24 15:44:09

标签: python pandas merge rename

我想改变常见变量' 3个数据集的名称 然后合并它们但似乎重命名不会将var名称更改为EID, 我怎么解决呢?

另外,我可以使用pd.merge命令合并3个数据集,而不是为所有人做1:1吗?

由于

data1516 = pd.read_csv('C:/data2015_2016.csv', sep='|', names=None, header=1, encoding='latin-1')    
data1617 = pd.read_csv('C:/data2016_2017.csv', sep='|', names=None, header=1, encoding='latin-1')    
data1718 = pd.read_csv('C:/data2017_2018.csv', sep='|', names=None, header=1, encoding='latin-1')

data1516.rename(index=str, columns={"Employer: ID" : "EID"})    
data1617.rename(index=str, columns={"Employer: ID" : "EID"})    
data1718.rename(index=str, columns={"Employer: ID" : "EID"})    
data1517 = pd.merge(data1516, data1617, on='EID', how='outer')

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)

答案 1 :(得分:1)

使用reduce

data1516=data1516.rename(columns={"Employer: ID" : "EID"})    
data1617=data1617.rename(columns={"Employer: ID" : "EID"})    
data1718=data1718.rename(columns={"Employer: ID" : "EID"})  

l=[data1516,data1617,data1718]
import functools 
df=functools.reduce(lambda x, y: pd.merge(x, y, on = 'EID'), l)