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.shape2. 기본 정보(치수, 열 이름, 데이터 형식, 점유 공간 등):
df.info()3. 데이터의 각 열 형식:
df.dtypes4. 특정 열의: #🎜🎜 #
df['B'].dtype
5. Null 값:
df.isnull()
6 특정 열의 Null 값 보기:
df.isnull()
7. 특정 열의 고유 값 보기:
df['B'].unique()
8 데이터 테이블의 값 보기:
df.values
9.
df.columns10. 데이터의 처음 10개 행과 데이터의 마지막 10개 행 보기:
df.head() #默认前10行数据 df.tail() #默认后10 行数据관련 권장 사항: "
Python 비디오 튜토리얼
"#🎜🎜 #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 중국어 웹사이트의 기타 관련 기사를 참조하세요!