将python数据帧转换为列表

use*_*849 17 python python-2.7 python-3.x pandas

我有一个包含多列的Python dataFrame.

  LogBlk    Page                                    BayFail       
  0          0                                 [0, 1, 8, 9]  
  1          16           [0, 1, 4, 5, 6, 8, 9, 12, 13, 14]  
  2          32           [0, 1, 4, 5, 6, 8, 9, 12, 13, 14]  
  3          48           [0, 1, 4, 5, 6, 8, 9, 12, 13, 14]  
Run Code Online (Sandbox Code Playgroud)

我想找到与LogBlk = 0和Page = 0相关联的BayFails.

df2 = df[ (df['Page'] == 16) & (df['LogBlk'] == 0) ]['BayFail']
Run Code Online (Sandbox Code Playgroud)

这将返回[0,1,8,9]

我想要做的是将此pandas.series转换为列表.有谁知道这是怎么做到的吗?

unu*_*tbu 36

pandas.Series,有一个tolist方法:

In [10]: import pandas as pd

In [11]: s = pd.Series([0,1,8,9], name = 'BayFail')

In [12]: s.tolist()
Out[12]: [0L, 1L, 8L, 9L]
Run Code Online (Sandbox Code Playgroud)

技术说明:在我原来的答案中,我说这Series是其子类,numpy.ndarray并继承了它的tolist方法.虽然对于Pandas版本0.12或更早版本来说也是如此,在即将发布的Pandas版本0.13中,Series已经被重构成为它的子类NDFrame.Series仍然有一个tolist方法,但它numpy.ndarray与同名方法没有直接关系.