반응형
<질문>
나는 시도했다:
x=pandas.DataFrame(...)
s = x.take([0], axis=1)
그리고s
Series가 아닌 DataFrame을 얻습니다.
<답변1>
>>> 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
pandas 0.20.2에서 더 이상 사용되지 않으므로 사용하지 마십시오. 사용loc
또는iloc
대신에. 이 질문에 대한 의견 및 기타 답변을 참조하십시오.
<답변2>
v0.11+부터 ... 사용df.iloc
.
In [7]: df.iloc[:,0]
Out[7]:
0 1
1 2
2 3
3 4
Name: x, dtype: int64
<답변3>
다음 코드를 사용하여 첫 번째 열을 시리즈로 가져올 수 있습니다.
x[x.columns[0]]
<답변4>
이것이 가장 간단한 방법이 아닙니까?
열 이름별:
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
<답변5>
이것은 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
<답변6>
df[df.columns[i]]
어디i
열의 위치/번호입니다(0).
그래서,i = 0
첫 번째 열에 대한 것입니다.
다음을 사용하여 마지막 열을 얻을 수도 있습니다.i = -1
반응형
'개발 > Python' 카테고리의 다른 글
[파이썬] py.test 내부 사용 중단 경고를 억제하는 방법 (0) | 2022.10.12 |
---|---|
[파이썬] len(generator()) 방법 (0) | 2022.10.12 |
[파이썬] 블록 범위 (0) | 2022.10.11 |
[파이썬] 인덱스를 모른 채 Series의 첫 번째 요소 가져오기 (0) | 2022.10.11 |