16

複数の列を持つ Python データフレームがあります。

  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]  

LogBlk=0 および Page=0 に関連付けられている BayFails を見つけたいと考えています。

df2 = df[ (df['Page'] == 16) & (df['LogBlk'] == 0) ]['BayFail']

これは[0,1,8,9]を返します

私がやりたいことは、この pandas.series をリストに変換することです。誰もそれを行う方法を知っていますか?

4

2 に答える 2

36

pandas.Seriestolistメソッドがあります:

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]

テクニカルノート: 私の最初の回答では、それSeriesはのサブクラスであり、そのメソッドnumpy.ndarrayを継承していると言いました。tolistこれは Pandas バージョン 0.12 以前には当てはまりますが、間もなくリリースされる Pandas バージョン 0.13 ではSeries、 のサブクラスになるようにリファクタリングされていますNDFrameSeriesメソッドはまだありますが、同じ名前tolistのメソッドとは直接の関係はありません。numpy.ndarray

于 2013-02-11T23:13:34.130 に答える
3

それらをに変換することもできますnumpy arrays

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

In [125]: a = pd.np.array(s)
Out[125]: array([0, 1, 8, 9], dtype=int64)

In [126]: a[0]
Out[126]: 0
于 2013-02-12T17:54:15.263 に答える