답변:
>>> 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 년에 정답은 Jeff 's입니다 (결국 그는 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"]
.
이것은 CSV 파일에서 시리즈를로드 할 때 효과적입니다.
x = pd.read_csv('x.csv', index_col=False, names=['x'],header=None).iloc[:,0]
print(type(x))
print(x.head(10))
<class 'pandas.core.series.Series'>
0 110.96
1 119.40
2 135.89
3 152.32
4 192.91
5 177.20
6 181.16
7 177.30
8 200.13
9 235.41
Name: x, dtype: float64
df.set_index('x').y