从转置的pandas数据帧中选择系列

时间:2015-10-12 15:58:49

标签: python pandas

使用名为mrna的数据框,如下所示:

id      Cell_1  Cell_2  Cell_3
CDH3    8.006   5.183   10.144
ERBB2   9.799   12.355  8.571
...

如何选择ERBB2行作为熊猫系列(如果我不知道它的索引)?

我试过了: mrna.iloc['ERBB2']但只需要一个整数,并且不会映射到字符串

我也尝试过:

mrna_t = mrna.transpose()
mrna_t['ERBB2'] 

但是我得到了KeyError:' ERBB2'

2 个答案:

答案 0 :(得分:2)

传递布尔条件以生成布尔掩码,此掩码用于索引,并仅返回满足条件的行:

In [116]:
df[df['id']=='ERBB2']

Out[116]:
      id  Cell_1  Cell_2  Cell_3
1  ERBB2   9.799  12.355   8.571

布尔条件的输出:

In [117]:
df['id']=='ERBB2'

Out[117]:
0    False
1     True
Name: id, dtype: bool

至于您的错误:mrna_t['ERBB2']将尝试查找具有该名称且不存在的列,因此KeyError

如果是您的索引,那么您可以这样做:

df.loc['ERBB2']

要选择与传递的标签匹配的索引值,请检查docs,包括index selection by position and label

部分

答案 1 :(得分:0)

刚想通了。我只是重置索引标签然后转置。这允许我用“ERBB2”索引。

mrna.set_index('id').T