使用来自另一个数据帧的列数据重命名列

时间:2017-01-25 01:09:39

标签: python-2.7 pandas dataframe header keyerror

我有两个数据帧 - 原始文件如下所示:

Gene Symbol, 10555, 10529, 10519
Map7, .184, .026, .207
nan, .348, .041, .187
Cpm, .45, .278, .453

和一个如下所示的参考文件:

Experiment_Num, Microarray, Experiment_Name, Chip_Name
10555, Genechip, Famotidine-5d, RG230-2
10529, Genechip, Famotidine-3d, RG230-2
10519, MMchip, Dicyclomine-3d, R01

我试图以原始文件的标题显示Experiment_Name而不仅仅是Experiment_Num的方式合并它们,如下所示:

Gene symbol, Famotidine-5d, Famotidine-3d, Dicyclomine-3d
Map7, .184, .026, .207
nan, .348, .041, .187
Cpm, .45, .278, .453

我的代码完全使用pandas编写,如下所示:

 import pandas as pd

df = ('ftp://anonftp.niehs.nih.gov/drugmatrix/Differentially_expressed_gene_lists_directly_from_DrugMatrix/Affymetrix/Affymetrix_annotation.txt', sep='\t', dtype=str) 
# Reference file

df2.columns = df2.columns.to_series().replace(df.set_index('Experiment').Compound_Name)
#Original File

df2

我尝试将原始DF的列转换为它的系列表示,然后替换属于Experiment_Num的旧值。使用从参考DF中检索到的新Experiment_name,但不断获取

KeyError:'Experiment'

我试图弄清楚可能导致KeyError的原因,但发现有很多可能性,但似乎都没有解决我的特定问题。

如果可能的话,感谢您的帮助!

特洛伊

0 个答案:

没有答案