

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)取請移步公眾號“程序員森芋”