처음 아시는 분들이 신경 쓰실 판다스의 사용법.
나는 판다스가 매우 편리한 고기능이라고 생각한다.다만, 기능이 너무 높아서 자세히 소개된 기사가 많지만, 제가 알고 싶은 것은 그 상태가 아니기 때문에 접점으로 정리해봤는데, 이런 것들을 최소한 알고 있다면 팬더스의 기본을 이해했다고 할 수 있을 것 같습니다.
대상 독자
pandas의 데이터 구조는 두 가지가 있다
pandas의 데이터 구조는 두 가지로 나뉜다.
DataFrame
표시표(열과 줄)의 데이터 구조와 1열 또는 1행Series
만 표시하는 데이터 구조이다.DataFrame
데이터 구조는 행과 열이 있는 표와 유사하다.판다스라면 거의 이 데이터 구조를 처리할 것이다.( 공식 문서 )
name
height
birthdate
a
tanaka
160
1990-01-01
b
yamada
170
1980-02-02
c
kato
180
1970-03-03
각 열에는 열 이름이 있습니다.
맨 왼쪽의 열을 인덱스라고 하는데, 줄 번호와 같은 존재이다.색인에 열 이름을 추가할 수도 있고, 색인에 여러 열을 지정할 수도 있습니다.인덱스는 숫자, 문자열, 날짜, 시간 등 각종 데이터를 사용할 수 있다.
Series
DataFrame과 달리 1열 또는 1행만 나타내는 데이터 구조입니다.( 공식 문서 )
weight
a
53
b
67
c
83
한 열만 있지만 색인이 있습니다.DataFrame과 마찬가지로 여러 열 색인이 있거나 수치, 문자열, 날짜 및 시간 등 다양한 데이터를 색인으로 사용할 수 있습니다.그 밖에 열명은 때로는 가지고 있고 때로는 없다.
DataFrame 및 Series의 관계 및 고려 사항
DataFrame은 여러 시리즈의 모음으로 구성됩니다.
내 경우는 시리즈형의 존재를 몰랐을 때 어느 도서관에서 시리즈형의 데이터를 얻어 곤혹스러웠다.
하나의 시리즈형 데이터도 DataFrame으로 변환할 수 있습니다.초보자가 시리즈형의 조작법을 기억하는 것은 매우 번거롭다고 생각하기 때문에 시리즈형의 데이터는 주저하지 말고 DataFrame형으로 바꾸는 것이 좋지 않겠는가.이렇게 되면 DataFrame형으로만 통일할 수 있기 때문에 초보자에게는 비교적 처리하기 쉽다.
변환 방법은 매우 간단하다. 시리즈형 데이터
.to_frame()
만 있으면 된다.( 공식 문서 )시리즈형 데이터는 DataFrame형 데이터로 빠르게 변환되기 때문에 이 글은 DataFrame형에 대한 조작만 소개한다.
데이터 프레임 사용 방법
새 데이터 프레임 만들기
df = pd.DataFrame(
[
['tanaka',160,datetime(1990, 1, 1)],
['yamada',170,datetime(1980, 2, 2)],
['kato',180,datetime(1970, 3, 3)]
],
index=['a','b','c'],
columns=['name','height','birthdate']
)
DataFrame의 제작 방법은 여러 가지 방법이 있기 때문에 이것은 DataFrame의 제작 방법의 한 예이다.이 예에서 모든 줄은 데이터를 정의했지만 열에 따라 데이터를 정의할 수도 있고 csv 데이터를 읽을 수도 있고 index와columns를 지정하지 않을 수도 있다.( 공식 문서 )index를 지정하지 않으면 0, 1, 2...자동 번호 매기기.
DataFrame 컨텐츠 디버그
print(df)
홍보만 하면 됩니다.데이터가 많을 때 처음의 몇 줄과 끝의 몇 줄을 표시합니다. index,columns, 기록수 등은 다음과 같습니다. Open High Low Close Adj Close Volume
Date
1966-07-05 0.000000 0.273663 0.267490 0.269547 0.124835 388800
1966-07-06 0.000000 0.283951 0.267490 0.283951 0.131506 692550
1966-07-07 0.000000 0.291152 0.271605 0.273663 0.126741 1858950
1966-07-08 0.000000 0.276749 0.267490 0.276749 0.128171 1239300
1966-07-11 0.000000 0.283951 0.272634 0.275720 0.127694 656100
... ... ... ... ... ... ...
2021-07-29 243.320007 245.199997 242.979996 244.020004 244.020004 2572300
2021-07-30 243.850006 245.410004 242.210007 242.710007 242.710007 2336800
2021-08-02 244.240005 244.679993 239.690002 240.100006 240.100006 2693900
2021-08-03 239.559998 239.949997 235.250000 236.949997 236.949997 3299300
2021-08-04 236.449997 236.600006 233.050003 234.830002 234.830002 2240000
[13866 rows x 6 columns]
DataFrame 또는 Series 확인
print(type(df))
데이터 프레임의 경우-><class 'pandas.core.frame.DataFrame'>
시리즈의 경우 -> <class 'pandas.core.series.Series'>
및 내보내기.Series를 DataFrame으로 변환
.to_frame()
너한테만 해줄게.( 공식 문서 )ser = pd.Series(
[53, 67, 83],
index=['a','b','c'],
name="weight"
)
df = ser.to_frame()
DataFrame에서 색인 목록 체크 아웃
df.index
DataFrame에서 column 차트 꺼내기
df.columns
데이터 프레임에서 이동
행 - 시리즈 객체를 가져옵니다.
df.loc['index名']
DataFrame에서 지정된 기준에서 여러 행 체크 아웃
df.loc[df['height'] > 165]
데이터 프레임에서 값 체크 아웃
df.loc['index名', 'column名']
행별 루프 데이터 프레임
for index, row in df.iterrows():
print(index) # indexの値を出力する
print(row['column名']) # column名で値を取得できる
데이터 프레임 업데이트
index와column을 지정하여 데이터를 업데이트할 수 있습니다.
df.loc['index名', 'colume名'] = "sato"
조건을 지정하여 업데이트하려면 다음과 같이 하십시오.df.loc[df['height'] > 165, 'name'] = "sato"
데이터 프레임에 행 추가
index 이름을 지정합니다. 값을 그룹에 대입하고 줄을 추가할 수 있습니다.배열 요소의 수량은 열 수와 일치해야 합니다.
df.loc['index名'] = ['sato',185,datetime(1960, 3, 3)]
index의 데이터 프레임을 지정하지 않은 상황에서 index는 0, 1, 2...연결len(df)
이기 때문에 DataFrame의 줄 수를 얻는 것이 좋습니다.df.loc[len(df)] = ['sato',185,datetime(1960, 3, 3)]
데이터 프레임에 열 추가하기
column의 이름을 지정합니다. 수치의 그룹을 대입한 후에 열을 추가할 수 있습니다.배열 요소의 수는 행 수와 일치해야 합니다.
df['column名'] = [55,65,75]
데이터 프레임의 행 삭제
df.drop('index名')
데이터 프레임 열 삭제
drop()
의 매개 변수에 axix=1
를 추가하면 줄을 삭제할 수 있습니다.df.drop('column名', axis=1)
csv 파일을 데이터 프레임으로 읽기
df = pd.read_csv('ファイルパス')
csv에 꼬리표가 있으면 열 이름이 자동으로 읽힙니다.다른 작은 옵션을 사용해서 열 이름을 지정할 수도 있고, 몇 걸음 건너뛰어서 불러올 수도 있습니다.( 공식 문서 )csv 파일로 내보내기
df.to_csv('ファイルパス')
대부분의 경우 이렇게 하면 된다.옵션을 통해 상세하게 설정할 수도 있다.( 공식 문서 )끝맺다
pandas의 데이터 구조와 DataFrame에 대한 처리를 총괄하였다.이걸 알면 그에 상응하는 판다스로 데이터를 조회하고 조작할 수 있을 것 같아요.나는 이곳의 일 이외에 아무것도 모르지만, 판다스로 데이터를 구할 수 있다!
판다스는 매우 높은 기능이기 때문에 다양한 방법으로 똑같은 처리를 할 수 있고 다양한 선택을 통해 손이 가려운 곳에 도달할 수 있다.여기에 소개된 것은 단지 각종 방법 중의 한 예일 뿐이다.
디테일공식 문서이 있으니 필요할 때마다 참고하는 게 좋아요.또 구글로 검색하면 자세한 내용을 소개하는 글이 일본어나 영어나 다양해 곤란하지 않다.
Reference
이 문제에 관하여(처음 아시는 분들이 신경 쓰실 판다스의 사용법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nekoshita/articles/01c04ec83144ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)