如何解决Python pandas中因列名不匹配导致的merge Key Error问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计642个文字,预计阅读时间需要3分钟。
目录+ 折腾+ 解决方法+ 折腾+ 数据分析用Python的pandas起来就有反人类了。今天用Python的pandas处理数据时,两个数据框合并不来。我有两个数据框,列名是未。
目录
- 折腾
- 解决方法
折腾
数据分析用惯了R,感觉pandas用起来就有点反人类了。今天用python的pandas处理数据时两个数据框硬是合并不起来。
我有两个数据框,列名是未知的,只能知道索引,以及哪两个索引是用做主键合并的。(别问我为啥列名未知,因为我是开发工具)。
思路是这样的,找到主键列,重命名,再合并。
df1.columns.values[args.marker1-1]="markerID"df2.columns.values[args.marker2-1]="markerID"
pd.merge(df1,df2,on='markerID')
但结果就是无论如何也合并不了。报错KeyError:'markerID'。
网上查了下是说不能直接用columns.values赋值,要分开。于是:
colnames_df1=df1.columnscolnames_df1[args.marker1-1]="markerID"
df1.columns=colnames_df1
colnames_df2=df2.columns
colnames_df2[args.marker1-1]="markerID"
df2.columns=colnames_df2
pd.merge(df1,df2,on='markerID')
实际上并没有什么区别。
本文共计642个文字,预计阅读时间需要3分钟。
目录+ 折腾+ 解决方法+ 折腾+ 数据分析用Python的pandas起来就有反人类了。今天用Python的pandas处理数据时,两个数据框合并不来。我有两个数据框,列名是未。
目录
- 折腾
- 解决方法
折腾
数据分析用惯了R,感觉pandas用起来就有点反人类了。今天用python的pandas处理数据时两个数据框硬是合并不起来。
我有两个数据框,列名是未知的,只能知道索引,以及哪两个索引是用做主键合并的。(别问我为啥列名未知,因为我是开发工具)。
思路是这样的,找到主键列,重命名,再合并。
df1.columns.values[args.marker1-1]="markerID"df2.columns.values[args.marker2-1]="markerID"
pd.merge(df1,df2,on='markerID')
但结果就是无论如何也合并不了。报错KeyError:'markerID'。
网上查了下是说不能直接用columns.values赋值,要分开。于是:
colnames_df1=df1.columnscolnames_df1[args.marker1-1]="markerID"
df1.columns=colnames_df1
colnames_df2=df2.columns
colnames_df2[args.marker1-1]="markerID"
df2.columns=colnames_df2
pd.merge(df1,df2,on='markerID')
实际上并没有什么区别。

