从Python中的多个数据框中提取相同的列名

时间:2018-07-20 01:06:52

标签: python pandas loops

这是我在python中的问题,我现在有5个数据帧,每个df都具有相同的行(基因),例如37000,但是我想要的列数(人)不同,这是提取每个数据框的相同列,然后将每个人的新数据框放在一起。

这是第一个数据帧(zcwholeblood)

    985191          984946          985178          985243  ....
0   -0.333855799    -0.384420271    -0.160796838    -0.048264971    
1   -0.263987736    -0.390621888    1.810548362     -0.145211202    
2   -0.804232112    -1.034259456    0.709356481     1.159014699
3   -1.020565696    -0.951216899    0.746887476     0.491633943 
4   -0.843270991    -0.84398453     0.066100731     -0.186970913    
5   -1.068984477    -0.918156528    0.177400838     0.738998791 
.

所有数据框具有相同的结构,但可以具有或不具有相同的列,并且具有不同的值。这是我从列名“ 985191”的数据库中创建数据框的代码。

lp = [zcwholeblood, zcmuscleskeletal, zcskinsun, zclung, zcadiposesubcuta]
L = []
for df in lp:
    L.append((df.loc[:,("985191")]))
pd.DataFrame(L)

但这显示了这个错误

  

KeyError:'标签[985191]不在[列]中

我为什么不这么做,我对

做了些改动
lp = [zcwholeblood, zcmuscleskeletal, zcskinsun, zclung, zcadiposesubcuta]
L = []
for df.filter in lp:
    L.append((df.loc[:,("985191")]))
pd.DataFrame(L)

但是向我展示了这5行(我猜是5个数据帧,但是所有行都具有第一个数据帧(zcwholeblood)中的值

0       1           2           3           4        ...
985191  -0.333856   -0.263988   -0.804232   -1.020566...        
985191  -0.333856   -0.263988   -0.804232   -1.020566...        
985191  -0.333856   -0.263988   -0.804232   -1.020566...        
985191  -0.333856   -0.263988   -0.804232   -1.020566...        
985191  -0.333856   -0.263988   -0.804232   -1.020566...        
5 rows × 37605 columns

如果您能帮助我,我真的很感激,因为这是我从学校获得的一个项目

0 个答案:

没有答案