应用DataFrame与List Comprehension的方法

时间:2014-03-19 22:26:25

标签: python pandas

我需要获取熊猫系列的一些特定索引的列表;以及所有DataFrame系列的所有这些列表的列表。

我可以用列表理解来做到这一点,但我想了解我是否可以使用DataFrame的apply方法做到这一点。这是一个玩具模型:

a=pd.DataFrame({'a':[1,1,1,0,0,1],'b':[1,0,1,0,0,1]})
[a[a[name]==1].index for name in a.columns]

可能只是因为我对熊猫的认识很浅,但是当我使用apply方法时,我想将serie作为一个列表左右,因此我对如何“放置”index属性一无所知。 / p>

1 个答案:

答案 0 :(得分:1)

不确定您的最终目标是什么,但通常最好将框架作为未来操作的框架。

In [1]:  a=pd.DataFrame({'a':[1,1,1,0,0,1],'b':[1,0,1,0,0,1]})

将您不感兴趣的元素转换为nan

In [2]: a.where(a==1)
Out[2]: 
    a   b
0   1   1
1   1 NaN
2   1   1
3 NaN NaN
4 NaN NaN
5   1   1

[6 rows x 2 columns]

如果你真的想要索引

In [4]: a.where(a==1)['a'].dropna().index
Out[4]: Int64Index([0, 1, 2, 5], dtype='int64')

In [5]: a.where(a==1)['b'].dropna().index
Out[5]: Int64Index([0, 2, 5], dtype='int64')