Answers:
>>> 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
此书,则熊猫0.20.2已弃用该书,因此请不要使用它。使用loc
或iloc
代替。查看对此问题的评论和其他答案。
.iloc
那时还没有。在2016年,正确的答案是杰夫的(毕竟他是pandas
上帝,请注意;-)。由于API的更改,我不确定关于更新答案的SO的政策是什么;老实说,我很惊讶这个答案的票数,认为这对人们没有用...
这不是最简单的方法吗?
按列名:
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
df.x
)不是通用的-如果列名包含空格怎么办?如果列DataFrame
名与-s属性名一致怎么办?使用来访问列更普遍__getitem__
(例如:)df["x"]
。
df[df.columns[i]]
其中i
是列的位置/编号(从0开始)。
因此,i = 0
是第一列。
您也可以使用 i = -1
df.set_index('x').y