私が試した:パンダのDataFrameの最初の列をシリーズとして取得する方法は?
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
そしてs
DATAFRAME、ないシリーズを取得します。
私が試した:パンダのDataFrameの最初の列をシリーズとして取得する方法は?
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'>
>>>
in 0.11
In [7]: df.iloc[:,0]
Out[7]:
0 1
1 2
2 3
3 4
Name: x, dtype: int64
これは新リリースと旧バージョンの互換性が最も高いバージョンです。開発チームがこのアプローチを正式に推進しているので、おそらく最も効率的です。 – gaborous
はこれが最も簡単な方法はありませんか?
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
この特定のケースでは、最初の列( "x")の名前を知っていますが、その質問の意味は「最初の列にはどのようにアクセスできますか?また、このような( 'df.x')のようなカラムへのアクセスは一般的ではありません。列の名前が 'DataFrame'の属性名と一致するとどうなりますか? '__getitem__'を使ってカラムにアクセスする方が一般的です(例:' df ["x"] ')。 – ponadto
また、列のヘッダーにその中のスペース。 –
列「y」を系列として、列「x」をそのインデックスとして取得するにはどうすればよいですか? – LWZ
'df.set_index( 'x').y' – herrfz
名前のための数字の列がある場合に曖昧ではないので、.ilocの代わりに(このページの下でJeffが提案したように)追加する価値があります。 –