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]
LogBlk = 0およびPage = 0に関連付けられているBayFailを見つけたい。
df2 = df[ (df['Page'] == 16) & (df['LogBlk'] == 0) ]['BayFail']
これは[0,1,8,9]を返します
私がやりたいのは、このpandas.seriesをリストに変換することです。誰もそれを行う方法を知っていますか?
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]
テクニカルノート:私の元の答えでは、Series
はnumpy.ndarray
のサブクラスであり、そのtolist
メソッドを継承していると言いました。これはPandasバージョン0.12以前には当てはまりますが、まもなくリリースされるPandasバージョン0.13では、Series
はNDFrame
のサブクラスにリファクタリングされました。 Series
にはまだtolist
メソッドがありますが、同じ名前のnumpy.ndarray
メソッドと直接的な関係はありません。
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