이 글은 Python 데이터 처리에 대한 관련 내용과 주요 설명을 공유합니다. 이 지식 포인트에 관심이 있는 친구들은 참고할 수 있습니다.
Numpy와 Pandas는 Python 데이터 처리에 자주 사용되는 두 가지 프레임워크입니다. 둘 다 C 언어로 작성되었으므로 작업 속도가 빠릅니다. Matplotlib는 이전에 처리된 데이터를 이미지를 통해 그릴 수 있는 Python 그리기 도구입니다. 저는 이전에 구문만 봤고 체계적으로 연구하고 요약한 적이 없습니다. 이 블로그 게시물에서는 이 세 가지 프레임워크의 API를 요약합니다.
다음은 이 세 가지 프레임워크의 간략한 소개와 차이점입니다.
Numpy: 데이터 생성 및 일부 작업에 자주 사용됩니다.
Pandas: Numpy를 기반으로 구축되었으며 Numpy의 업그레이드 버전입니다
Matplotlib: Python의 강력한 그리기 도구
Numpy
Numpy 빠른 시작 튜토리얼은 다음을 참조할 수 있습니다: Numpy 튜토리얼
Numpy 속성
ndarray.ndim: 치수
ndarray.shape : 수 행 및 열 번호(예: (3, 5))
ndarray.size: 요소 수
ndarray.dtype: 요소 유형
Numpy 생성
array(object, dtype=None): 사용 Python의 목록 또는 Tuple은 데이터를 생성합니다
zeors(shape, dtype=float): 모두 0으로 데이터를 생성합니다
ones(shape, dtype=None): 모두 1로 데이터를 생성
empty(shape, dtype=float ) : 초기화 없이 데이터 생성
arange([start, ]stop, [step, ]dtype=None): 고정 간격 데이터 세그먼트 생성
linspace(start, stop, num=50, dtype=None): 주어진 범위에서 균등하게 데이터를 생성합니다
Numpy 연산
덧셈과 뺄셈: a + b, a - b
곱셈: b*2, 10*np.sin(a)
곱셈: b**2
판단: a<35, True 또는 False 배열 출력
행렬 곱셈: np.dot(A,B) 또는 A.dot(B)
기타: +=, - +, sin, cos, exp
Numpy index
배열 인덱싱 방법: A[1, 1]
Slice: A[1, 1:3]
Iteration: A.Flat의 항목
Numpy Others
reshape(a, newshape): 원본 데이터를 수정하지 않고 데이터의 모양을 변경하고 새로운 데이터 집합을 반환합니다.
resize(a, new_shape): 데이터의 모양을 변경합니다. , 원본 데이터 수정 없이 데이터 반환 없이 수정
ravel(a): 1차원으로 반환
vstack(tup): 위쪽 및 아래쪽 병합
hstack(tup): 왼쪽 및 오른쪽 병합
hsplit(ary, indices_or_sections): n 부분을 수평으로 분할
vsplit(ary, indices_or_sections): 수직으로 n 부분 분할
copy(a): 전체 복사
Pandas
Pandas 빠른 시작 튜토리얼은 다음을 참조할 수 있습니다: 10 Pandas까지 몇 분
Pandas 데이터 구조
Pandas에는 Series와 DataFrame이라는 두 가지 데이터 구조가 있습니다.
시리즈: 왼쪽은 인덱스, 오른쪽은 값입니다. 생성 방법은 다음과 같습니다.
In [4]: s = pd.Series([1,3,5,np.nan,6,8]) In [5]: s Out[5]: 0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64
DataFrame: 행과 열 인덱스가 모두 포함된 테이블 형식의 데이터 구조입니다. 시리즈로 구성된 대규모 사전이라고 볼 수 있습니다. 생성 방법은 다음과 같습니다.
In [6]: dates = pd.date_range('20130101', periods=6) In [7]: dates Out[7]: DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'], dtype='datetime64[ns]', freq='D') In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
Pandas 뷰 데이터
index: 인덱스
columns: 열 인덱스
values: value
head(n=5): 상단 반환 n개 데이터
tail(n=5): 마지막 n개 데이터를 반환합니다.
describe(): 데이터의 개수, 평균, 기타 데이터를 출력합니다
sort_index(axis=1, climbing =False): 인덱스에 따라 정렬
sort_values(by='B'): 인덱스 값에 따라 정렬
Pandas 데이터 선택
배열 선택 방법: df['A']
슬라이스 선택 방법: df[0:3] 또는 df ['20130102':'20130104']
레이블에 따라 선택: df.loc['20130102':'20130104',['A','B']]
위치에 따라 선택 : df.iloc[3 :5,0:2]
혼합 선택 : df.ix[:3,['A','C']]
조건 판단 선택 : df [df.A > 0]
Pandas 누락된 데이터 처리
누락된 데이터가 있는 행 삭제: df.dropna(how='any')
누락된 데이터 채우기: df.fillna(value=5)
데이터 값이 NaN인지 여부: pd.isna( df1)
Pandas merge data
pd.concat([df1, df2, df3], axis=0): merge df
pd.merge( left, right, on='key'): 키 기반 필드 병합
df.append(s,ignore_index=True): 데이터 추가
Pandas 가져오기 및 내보내기
df.to_csv('foo.csv '): csv 파일에 저장
pd.read_csv(' foo.csv'): csv 파일에서 읽기
df.to_excel('foo.xlsx', sheet_name='Sheet1'): Excel 파일에 저장
pd.read_excel('foo.xlsx', 'Sheet1 ', index_col=None, na_values=['NA']): Excel 파일에서 읽기
Matplotlib
여기에서는 플롯하는 가장 간단한 방법만 소개합니다.
import pandas as pd import numpy as np import matplotlib.pyplot as plt # 随机生成1000个数据 data = pd.Series(np.random.randn(1000),index=np.arange(1000)) # 为了方便观看效果, 我们累加这个数据 data.cumsum() # pandas 数据可以直接观看其可视化形式 data.plot() plt.show()
관련 권장 사항:
Python 로그의 구성 파일 경로 문제에 대한 간략한 토론
위 내용은 Python 데이터 처리에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!