提取具有特定名称的列。 dataframe python

时间:2018-02-08 16:35:28

标签: python-3.x pandas dataframe

我有一个包含许多列的数据框,但其中有六列名为:people_emotions_anger,people_emotions_joy,people_emotions_surprise end so so。

有没有聪明的方法可以只提取那些带有前缀" people_emotions"?

的列

我知道我可以提取每一列,然后将它们合并到新的数据帧中,但是可能有更有效的方法吗?

2 个答案:

答案 0 :(得分:2)

来源DF:

In [28]: df
Out[28]:
   aaa_1  aaa_2 bbb_1 bbb_2  aaa_3
0      1      2   aaa   xxx     10
1      1      2   bbb   yyy     11

选项1:

In [29]: df.filter(regex='^aaa')
Out[29]:
   aaa_1  aaa_2  aaa_3
0      1      2     10
1      1      2     11

选项2:

In [30]: df.loc[:, df.columns.str.contains('^aaa')]
Out[30]:
   aaa_1  aaa_2  aaa_3
0      1      2     10
1      1      2     11

答案 1 :(得分:1)

一种不那么“熊猫式”的方式就是使用列表理解:

{{1}}