167

私は試した:

x=pandas.DataFrame(...)
s = x.take([0], axis=1)

そしてs、シリーズではなく、DataFrameを取得します。

4

6 に答える 6

156
>>> 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 月以降にこれを読んでいる場合は、ixpandas 0.20.2 で非推奨になっているため、使用しないでください。代わりにlocまたはを使用してください。ilocこの質問に対するコメントとその他の回答を参照してください。

于 2013-03-12T13:33:39.193 に答える
143

v0.11 +以降、...を使用しますdf.iloc

In [7]: df.iloc[:,0]
Out[7]: 
0    1
1    2
2    3
3    4
Name: x, dtype: int64
于 2013-03-12T14:49:17.780 に答える
124

次のコードで、最初の列を Series として取得できます。

x[x.columns[0]]
于 2013-03-12T12:42:57.013 に答える
12

これが最も簡単な方法ではないでしょうか。

列名別:

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
于 2016-12-23T05:30:55.163 に答える