私は試した:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
そしてs
、シリーズではなく、DataFrameを取得します。
>>> import pandas as pd
>>> df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
>>> df
x y
0 1 4
1 2 5
2 3 6
3 4 7
>>> s = df.ix[:,0]
>>> type(s)
<class 'pandas.core.series.Series'>
>>>
================================================== =========================
アップデート
2017 年 6 月以降にこれを読んでいる場合は、ix
pandas 0.20.2 で非推奨になっているため、使用しないでください。代わりにloc
またはを使用してください。iloc
この質問に対するコメントとその他の回答を参照してください。
v0.11 +以降、...を使用しますdf.iloc
。
In [7]: df.iloc[:,0]
Out[7]:
0 1
1 2
2 3
3 4
Name: x, dtype: int64
次のコードで、最初の列を Series として取得できます。
x[x.columns[0]]
これが最も簡単な方法ではないでしょうか。
列名別:
In [20]: df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]})
In [21]: df
Out[21]:
x y
0 1 4
1 2 5
2 3 6
3 4 7
In [23]: df.x
Out[23]:
0 1
1 2
2 3
3 4
Name: x, dtype: int64
In [24]: type(df.x)
Out[24]:
pandas.core.series.Series