如何获得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