如何获得pandasDataFrame的第一列作为一个系列?
我试过了:
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 xy 0 1 4 1 2 5 2 3 6 3 4 7 >>> s = df.ix[:,0] >>> type(s) <class 'pandas.core.series.Series'> >>>
您可以通过以下代码获取第一列作为系列:
x[x.columns[0]]
in 0.11 In [7]: df.iloc[:,0] Out[7]: 0 1 1 2 2 3 3 4 Name: x, dtype: int64
这不是最简单的方法吗?
按列名称:
In [20]: df = pd.DataFrame({'x' : [1, 2, 3, 4], 'y' : [4, 5, 6, 7]}) In [21]: df Out[21]: xy 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