판다가 칼럼을 색인으로 사용할 수 있을까요?
다음과 같은 스프레드시트가 있습니다.
Locality 2005 2006 2007 2008 2009
ABBOTSFORD 427000 448000 602500 600000 638500
ABERFELDIE 534000 600000 735000 710000 775000
AIREYS INLET459000 440000 430000 517500 512500
열을 행과 수동으로 전환하지 않습니다.다음과 같이 목록에 데이터를 읽는 판다를 사용할 수 있습니까?
data['ABBOTSFORD']=[427000,448000,602500,600000,638500]
data['ABERFELDIE']=[534000,600000,735000,710000,775000]
data['AIREYS INLET']=[459000,440000,430000,517500,512500]
네, 당신은 만들 수 있습니다.'Locality'
행 인덱스를 입력합니다.
data.set_index('Locality', inplace=True)
한다면inplace=True
제공되지 않습니다.set_index
결과적으로 수정된 데이터 프레임을 반환합니다.
예:
> import pandas as pd
> df = pd.DataFrame([['ABBOTSFORD', 427000, 448000],
['ABERFELDIE', 534000, 600000]],
columns=['Locality', 2005, 2006])
> df
Locality 2005 2006
0 ABBOTSFORD 427000 448000
1 ABERFELDIE 534000 600000
> df.set_index('Locality', inplace=True)
> df
2005 2006
Locality
ABBOTSFORD 427000 448000
ABERFELDIE 534000 600000
> df.loc['ABBOTSFORD']
2005 427000
2006 448000
Name: ABBOTSFORD, dtype: int64
> df.loc['ABBOTSFORD'][2005]
427000
> df.loc['ABBOTSFORD'].values
array([427000, 448000])
> df.loc['ABBOTSFORD'].tolist()
[427000, 448000]
이미 설명한 대로 인덱스를 변경할 수 있습니다.set_index
행을 열로 수동으로 전환할 필요가 없습니다. 전치수가 있습니다.data.T
) 당신을 위해 그것을 하는 판다의 방법:
> df = pd.DataFrame([['ABBOTSFORD', 427000, 448000],
['ABERFELDIE', 534000, 600000]],
columns=['Locality', 2005, 2006])
> newdf = df.set_index('Locality').T
> newdf
Locality ABBOTSFORD ABERFELDIE
2005 427000 534000
2006 448000 600000
그런 다음 데이터 프레임 열 값을 가져와 목록으로 변환할 수 있습니다.
> newdf['ABBOTSFORD'].values.tolist()
[427000, 448000]
또 다른 간단한 방법은 열을 데이터 프레임 인덱스에 할당하는 것입니다.
data = {
'Locality': ['ABBOTSFORD', 'ABERFELDIE', 'AIREYS INLET'],
'2005': [427000, 534000, 459000 ],
'2006': [448000, 448000, 448000],
'2007': [602500, 602500, 602500],
'2008': [600000, 710000, 517500],
'2009': [638500, 775000, 512500]
}
df = pd.DataFrame(data)
# set the locality column as the index
df.index = df['Locality']
더 이상 지역성 열을 열로 사용하지 않으려면 해당 열을 삭제하면 됩니다.
df.drop('Locality', axis=1)
당신은 결국
| 2005 | 2006 | 2007 | 2008 | 2009
Locality |-------------------------------------------
ABBOTSFORD | 427000 | 448000 | 602500 | 600000 | 638500
ABERFELDIE | 534000 | 448000 | 602500 | 710000 | 775000
AIREYS INLET | 459000 | 448000 | 602500 | 517500 | 512500
Pandas의 스프레드시트에서 읽는 동안 사용할 수 있는 index_col 매개 변수를 사용하여 열 인덱스를 설정할 수 있습니다.
제 솔루션은 다음과 같습니다.
먼저 판다를 PD로 불러옵니다.
import pandas as pd
(스프레드시트에 데이터가 있는 경우) pd.read_excel()을 사용하여 파일 이름을 읽고 index_col 매개 변수를 지정하여 인덱스를 '로컬리티'로 설정합니다.
df = pd.read_excel('testexcel.xlsx', index_col=0)
이 단계에서 'xlrd라는 이름의 모듈 없음' 오류가 발생하면 다음을 사용하여 설치합니다.
pip install xlrd
.육안 검사를 위해 다음을 사용하여 데이터 프레임을 읽습니다.
df.head()
다음 출력을 출력합니다.이제 데이터 프레임의 원하는 열 값을 가져와서 인쇄할 수 있습니다.
언급URL : https://stackoverflow.com/questions/38542419/could-pandas-use-column-as-index
'programing' 카테고리의 다른 글
"razor" 파일과 "cshtml" 파일의 차이점은 무엇입니까? (0) | 2023.06.13 |
---|---|
각 성분의 유형 (0) | 2023.06.13 |
각 면에 2개의 Y 축이 있고 척도가 서로 다른 gg 그림 (0) | 2023.06.13 |
장기간 실행 중인 데이터베이스 작업을 취소하는 방법은 무엇입니까? (0) | 2023.06.13 |
GPU에서 통계 애플리케이션의 이 코드를 실행할 수 있습니까? (0) | 2023.06.13 |