> 백엔드 개발 > 파이썬 튜토리얼 > Python 데이터 처리에 대한 간략한 분석

Python 데이터 처리에 대한 간략한 분석

不言
풀어 주다: 2018-05-02 13:46:24
원래의
1781명이 탐색했습니다.

이 글은 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(&#39;20130101&#39;, periods=6)

In [7]: dates
Out[7]: 
DatetimeIndex([&#39;2013-01-01&#39;, &#39;2013-01-02&#39;, &#39;2013-01-03&#39;, &#39;2013-01-04&#39;,
        &#39;2013-01-05&#39;, &#39;2013-01-06&#39;],
       dtype=&#39;datetime64[ns]&#39;, freq=&#39;D&#39;)

In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list(&#39;ABCD&#39;))
로그인 후 복사

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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