Python pandas 사용법에 대한 가장 완전한 요약

爱喝马黛茶的安东尼
풀어 주다: 2019-08-03 17:57:43
앞으로
15448명이 탐색했습니다.

Python pandas 사용법에 대한 가장 완전한 요약

1. 데이터 테이블 생성

1. Library, numpy 라이브러리가 일반적으로 사용되므로 먼저 백업을 가져옵니다:

import numpy as np
import pandas as pd
로그인 후 복사

2. CSV 또는 xlsx 파일 가져오기:

df = pd.DataFrame(pd.read_csv('name.csv',header=1))
df = pd.DataFrame(pd.read_excel('name.xlsx'))
로그인 후 복사

3 pandas를 사용하여 데이터 테이블을 만듭니다. : # 🎜🎜#

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], 
 "date":pd.date_range('20130102', periods=6),
 "city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
 "age":[23,44,54,32,34,32],
 "category":['100-A','100-B','110-A','110-C','210-A','130-F'],
 "price":[1200,np.nan,2133,5433,np.nan,4432]},
columns =['id','date','city','category','age','price'])
로그인 후 복사

2. 데이터 테이블 정보 보기

1. 차원 보기:

df.shape
로그인 후 복사

2. 기본 정보(치수, 열 이름, 데이터 형식, 점유 공간 등):

df.info()
로그인 후 복사

3. 데이터의 각 열 형식:

df.dtypes
로그인 후 복사

4. 특정 열의: #🎜🎜 #
df['B'].dtype
로그인 후 복사

5. Null 값:

df.isnull()
로그인 후 복사
로그인 후 복사

6 특정 열의 Null 값 보기:

df.isnull()
로그인 후 복사
로그인 후 복사

7. 특정 열의 고유 값 보기:

df['B'].unique()
로그인 후 복사

8 데이터 테이블의 값 보기:

df.values
로그인 후 복사

9.

df.columns
로그인 후 복사

10. 데이터의 처음 10개 행과 데이터의 마지막 10개 행 보기:

df.head() #默认前10行数据
df.tail()    #默认后10 行数据
로그인 후 복사

관련 권장 사항: "

Python 비디오 튜토리얼

"#🎜🎜 #

3. 데이터 테이블 정리

1 빈 값을 숫자 0으로 채웁니다.

df.fillna(value=0)
로그인 후 복사
2. NA를 채울 Prince 열의 평균 값:

df['prince'].fillna(df['prince'].mean())
로그인 후 복사

3. 도시 필드의 문자를 지웁니다. 공백:

df['city']=df['city'].map(str.strip)
로그인 후 복사

4. 대소문자 변환:

df['city']=df['city'].str.lower()
로그인 후 복사

5. 데이터 형식 변경:

df['price'].astype('int')
로그인 후 복사

6. 열 이름 변경: #🎜🎜 #

df.rename(columns={'category': 'category-size'})
로그인 후 복사

7. 삭제 후 나타나는 중복 값:

df['city'].drop_duplicates()
로그인 후 복사

8. 먼저 나타나는 중복 값 삭제:

df['city'].drop_duplicates(keep='last')
로그인 후 복사

9. 데이터 교체: #🎜🎜 #
df['city'].replace('sh', 'shanghai')
로그인 후 복사

4.

df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008], 
"gender":['male','female','male','female','male','female','male','female'],
"pay":['Y','N','Y','Y','N','Y','N','Y',],
"m-point":[10,12,20,40,40,40,30,20]})
로그인 후 복사

1. 데이터 테이블 병합

df_inner=pd.merge(df,df1,how='inner')  # 匹配合并,交集
df_left=pd.merge(df,df1,how='left')        #
df_right=pd.merge(df,df1,how='right')
df_outer=pd.merge(df,df1,how='outer')  #并集
로그인 후 복사

2. 인덱스 열 설정#🎜🎜 #
df_inner.set_index('id')
로그인 후 복사

3. 🎜#

df_inner.sort_values(by=['age'])
로그인 후 복사
4. 인덱스 열을 기준으로 정렬:
df_inner.sort_index()
로그인 후 복사

5 Prince 열의 값이 >3000이면 그룹 열이 높음으로 표시되고 그렇지 않으면 낮음으로 표시됩니다. 🎜#
df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')
로그인 후 복사

6. 여러 조건을 조합한 데이터를 그룹화하고 표시합니다

df_inner.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1
로그인 후 복사

7. 카테고리 필드의 값을 시퀀스 열로 나누어 데이터 테이블인 인덱스를 만듭니다. 값은 df_inner의 인덱스 열이고 열 이름은 Category 및 size

pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size']))
로그인 후 복사

8입니다. 분할 데이터 테이블을 원래 df_inner 데이터 테이블

df_inner=pd.merge(df_inner,split,right_index=True, left_index=True)
로그인 후 복사

과 일치시킵니다. 5. 데이터 추출

사용되는 주요 함수는 loc, iloc, ix 입니다. loc 함수는 라벨 값으로 추출하고, iloc는 위치로 추출합니다. 그리고 동시에 위치.

1. 인덱스

df_inner.loc[3]
로그인 후 복사

2로 단일 행 값을 추출합니다. 인덱스

df_inner.iloc[0:5]
로그인 후 복사

3으로 영역 행 값을 추출합니다. #🎜🎜 #

df_inner.reset_index()
로그인 후 복사
4. 날짜를 index
df_inner=df_inner.set_index('date')
로그인 후 복사

5로 설정합니다. 4일 이전의 모든 데이터를 추출합니다

df_inner[:'2013-01-04']
로그인 후 복사

6. Area#🎜 🎜#
df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。
로그인 후 복사

7. 위치별로 데이터를 별도로 추출하려면 iloc을 적용하세요.

df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列
로그인 후 복사

8 ix를 사용하여 인덱스 라벨과 위치를 혼합하여 데이터를 추출합니다.

df_inner.ix[:'2013-01-03',:4] #2013-01-03号之前,前四列数据
로그인 후 복사
#🎜🎜 #9. 도시 확인 열의 값이 베이징

df_inner['city'].isin(['beijing'])
로그인 후 복사

10인지 확인합니다. 도시 열에 베이징과 상하이가 포함되어 있는지 확인하고 조건

df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])]
로그인 후 복사
#🎜을 충족하는 데이터를 추출합니다. 🎜#11. 처음 세 문자를 추출하고 데이터 테이블을 생성합니다

pd.DataFrame(category.str[:3])
로그인 후 복사

6. 데이터 필터링

AND의 세 가지 조건을 사용합니다. , OR 및 NOT을 초과, 미만, 같음과 일치하도록 데이터를 필터링하고 계산하고 합산합니다.

1. "AND"를 사용하여

df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]
로그인 후 복사

2를 필터링합니다.

df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]
.sort(['age'])
로그인 후 복사

3을 필터링하려면 "NOT" 조건을 사용하세요. 필터 필터

df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id'])
로그인 후 복사

4. 도시 열

df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id']).city.count()
로그인 후 복사

5로 필터링된 데이터를 계산합니다. 필터

df_inner.query('city == ["beijing", "shanghai"]')
로그인 후 복사
6에 쿼리 기능을 사용합니다. 결과는 Prince에 의해 합산됩니다

df_inner.query('city == ["beijing", "shanghai"]').price.sum()
로그인 후 복사

7. 데이터 요약

주요 기능은 groupby 및 피벗_테이블입니다

#🎜 🎜#1 . 모든 열을 계산하고 요약합니다

df_inner.groupby('city').count()
로그인 후 복사

2. 도시별로 ID 필드를 계산합니다

df_inner.groupby('city')['id'].count()
로그인 후 복사

3 두 필드를 요약하고 계산합니다#🎜🎜 #
df_inner.groupby(['city','size'])['id'].count()
로그인 후 복사

4. 도시 필드를 요약하고 각각 Prince의 합계와 평균을 계산합니다

df_inner.groupby('city')['price'].agg([len,np.sum, np.mean])
로그인 후 복사

8. 데이터 통계

#🎜🎜 #데이터 샘플링, 표준편차, 공분산 계산 및 상관 계수

1. 단순 데이터 샘플링

df_inner.sample(n=3)
로그인 후 복사

2 샘플링 가중치를 수동으로 설정

weights = [0, 0, 0, 0, 0.5, 0.5]
df_inner.sample(n=2, weights=weights)
로그인 후 복사
#🎜🎜 #3.
df_inner.sample(n=6, replace=False)
로그인 후 복사

4. 샘플링 후 교체

df_inner.sample(n=6, replace=True)
로그인 후 복사

5. 데이터 테이블 기술 통계

df_inner.describe().round(2).T #round函数设置显示小数位,T表示转置
로그인 후 복사

6 열의 표준 편차를 계산합니다

df_inner['price'].std()
로그인 후 복사
#🎜 🎜#7. 두 필드 간의 공분산 계산

df_inner['price'].cov(df_inner['m-point'])
로그인 후 복사

8. 데이터 테이블의 모든 필드 간의 공분산

df_inner.cov()
로그인 후 복사
# 🎜🎜#9.
df_inner['price'].corr(df_inner['m-point']) #相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关
로그인 후 복사
10. 데이터 테이블의 상관관계 분석

df_inner.corr()
로그인 후 복사

9. 데이터 출력

분석된 데이터는 xlsx 형식으로 출력 가능합니다. 및 csv 형식

1. Excel에 쓰기

df_inner.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
로그인 후 복사

2에 쓰기#🎜 🎜 #

df_inner.to_csv('excel_to_python.csv')
로그인 후 복사

위 내용은 Python pandas 사용법에 대한 가장 완전한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿