>  기사  >  백엔드 개발  >  Python pandas 사용법에 대한 가장 완전한 요약

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

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼앞으로
2019-08-03 17:57:4315447검색

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으로 문의하시기 바랍니다. 삭제