Python數(shù)據(jù)分析3


pandas

pandas簡介

pandas:python的數(shù)據(jù)分析包

特點

基于numpy的一種工具,為數(shù)據(jù)分析業(yè)務而創(chuàng)建的。

納入了大量庫和一些標準的數(shù)據(jù)模型,提供了高效操作大型數(shù)據(jù)集所需的工具

提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法

安裝和導入

pip install pandas

import pandas as pd

pandas數(shù)據(jù)結(jié)構(gòu)

Series

簡介

ndarray對象的升級,是一個可以由用戶自定義索引的一維數(shù)組對象,由index和value兩部分組成。

創(chuàng)建方法

Series(data,index,dtype,copy)

data:可以是列表、元組、字典或ndarray對象

index:索引列表

dtype:數(shù)據(jù)數(shù)據(jù)類型

copy:當值為False時,用于復制數(shù)據(jù)

索引

顯示索引

s[索引值]或s.iloc[索引值]

隱式索引

s[索引值]或s.loc[索引值]

當索引值和索引名有相同名稱時,優(yōu)先顯示顯式索引內(nèi)容

切片

隱式切片

s[索引名start:索引名stop:setp]

s.iloc[索引名start:索引名stop:setp]

左閉右開

顯式切片

s[索引名start:索引名stop:setp]

s.loc[索引名start:索引名stop:setp]

左閉右閉

DataFarme

簡介

是二維數(shù)據(jù)結(jié)構(gòu),即數(shù)據(jù)行、列的表格方式排列。由行索引index、列索引columns和數(shù)據(jù)values組成。

創(chuàng)建方法

DataFrame(data,index,columns,dtype,copy)

data:列表、元組、字典、ndarry對象、csv數(shù)據(jù)、sql數(shù)據(jù)、excel數(shù)據(jù)及html表格數(shù)據(jù)。

字典:鍵是列索引,值以列表形式存儲的列下面的值

csv數(shù)據(jù):pd.read_csv('文件名',encoding,usecols,skiprows)

encoding:編碼方式

usecols:從表格中選擇哪些列,元組形式

skiprows:從表格中跳過幾行

SQL數(shù)據(jù)

1.import pymysql

2.conn =pymysql.Connect(host,port,user,password,db,charset)

3.sql = ";"

4.read_sql(sql,conn)

index:行索引列表

columns:列索引列表

DataFrame(data,index,columns,dtype,copy)

常用屬性

T:行列轉(zhuǎn)換

index:獲取行索引

colimns:獲取列索引

values:獲取數(shù)據(jù),將DataFrame數(shù)據(jù)轉(zhuǎn)換為ndarry

ndim:獲取維度

shape:獲取維度信息

size:獲取元素個數(shù)

dtype:獲取元素的數(shù)據(jù)類型

head(n):獲取前n行數(shù)據(jù)

tail(n):獲取后n行數(shù)據(jù)

索引

列索引

df[’列索引名‘]或df.列索引名

注意:不能寫df[列索引值]

行列索引

先列后行

df[列索引][行索引]

df[列索引].loc/.iloc[行索引]

先行后列

df.loc/.iloc[行索引][列索引]

行索引

df.iloc[行索引值]或df.loc['行索引名']

注意:iloc和loc不能省

切片

df[行索引起始值:行索引結(jié)束值:步長]

注意:只做行切片,篩選部分列做列索引。

常用方法

sum(axis):分別對行、列進行求和,結(jié)果為Series

cumsum(axis):累計求和,結(jié)果是DataFrame

prod(axis):對行、列進行求積

cumprod(axis):累計求積

max(axis)/min(axis):最大值和最小值

var(axis)/std(axis):方差和標準差

mean(axis):求算數(shù)平均值

median(axis):求中位數(shù)

count(axis):非空值觀測

mode(axis):眾數(shù),模值,數(shù)據(jù)樣本中頻度最高的數(shù)。

describe(axis):數(shù)據(jù)進行匯總統(tǒng)計

排序

sort_index(axis=0,

level=None,

ascending,inplace: 'bool' = False,

kind: 'str' = 'quicksort',

na_position: 'str' = 'last',

ignore_index: 'bool' = False)

axis:軸,當值為0時,進行縱向操作,當值為1時,進行橫向操作

level:層次化索引,按哪個層次的索引進行排序

axcending:排序方式,當值為False時降序排序

kind:排序類型,默認快速排序法

na_position:當索引中有NaN時,它的顯示位置,默認顯示在最后

ignore_index:對索引進行重新排序(索引)

sort_values(axis=0,

ascending=True,

inplace=False,

kind='quicksort',

na_position='last',

ignore_index=False)

按值排序

數(shù)據(jù)的排序

concat(object,axis,keys,ignore_index,join)

object:對多張表對象進行連接,并將表存儲為列表或元組

axis:軸,=0行連接,=1列連接

keys:為多張表定義表名,吧多個表名存儲在列表或元組中

ignore_index:當值為True時為連接后的表重置索引

join:表連接方式,默認outer,只有inner和outer

mere(left,right,on,how,left_on,right_on,left_index,right_index,sffixes)

left,right:連接的左表和右表

on:指定兩張表連接的列索引

how:連接方式

inner:內(nèi)連接(默認)

outer:外連接

left:左連接

right:右連接

cross:笛卡爾連接

left_on.right_on:當兩張表中某個列索引含義相同但名稱不同時,人為定義這兩個參數(shù)可將表按照這兩個索引進行連接。

left_index,right_index:當兩個表中無相同列索引時要將兩表連接,設(shè)置這兩個參數(shù)值為True就可以進行連接。

suffixes:為兩個表相同列索引定義表名,必須與on同時使用

Pane1

資料領(lǐng)取請移步公眾號“程序員森芋”

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容