python——pandas包的一些功能筆記
阿新 • • 發佈:2019-01-08
pandas
series
import pandas as pd
from pandas import Series,DataFrame
data=Series([4,7,-5,3])
data.values #以陣列的形式呈現
data=Series([4,7,-5,3],index=["d","b","a","c"]) #自定義index
data.index #檢視index
data["a"] #索引查詢
data["a"]=5 #更改
data[data>0] #索引正值
np.exp(data)
"b" in data #返回布林值
data1 = Series(data) #字典轉換成series
data=Series(data,index=states) #states是一個包含index的list,若沒有對應的,則NaN
pd.isnull(data) #返回都是布林值的series
pd.notnull(data)
data.isnull()
data1+data2 #series在算數運算中會i懂對齊不同索引的資料
data.name="population" #設定series的名字
data.index.name="state" #索引也可以設定名字哦~~
data.index=["bob","steve","jeff"] #修改索引
DataFrame
frame=DataFrame(data) #字典轉化為dataframe,key變列索引
frame=DataFrame(data,columns=["year","state","pop"],index=["one","two","three"]) #columns是列索引,index是行索引
frame.columns #檢視列索引
frame.one
frame["state"]
frame.ix["three"] #`.ix`用於對行索引
frame["debt"]=16.5 #16.5覆蓋debt列的所有值
frame["debt"]=np.arange(5)
frame["eastern"] = frame.state=="ohio" #得到布林值
frame=DateFrame(pop) #pop為巢狀字典,外層key為列索引,內層key為行索引
frame.T
frame.index.name="year"
frame.columns.name="state"
frame.values #返回陣列
重新索引
data=Series([4.5,7.2,-5.3,3.6],index=["d","b","a","c"])
data1=data.reindex(["a","b","c","d","e"]) #`.reindex`進行索引排序
data1=data.reindex(["a","b","c","d","e"],fill_value=0) #`fill_value=0`即NaN變為0
data.reindex(range(6),method="ffill") #缺失項,前向填充,若method="bfill",即為後項填充
frame=DataFrame(np.arange(9).reshape((3,3)),index=["a","c","d"],columns=["ohio","texas","california"])
frame.reindex(["a","b","c","d"])
frame.ix[["a","b","c","d"],states] #左行索引,右列索引
丟棄指定軸上的項
frame.drop("c") #丟棄行的一項,預設axis=0,丟棄列是,設定axis=1
frame["b":"c"] #!!!!!!利用標籤的切片運算與普通的python切片運算不同,其末端是包含的。
data<0 #所有都返回布林值
data1.add(data2,fill_value=0)
排序和排名
data.sort_index() #按索引排序,預設axis=0
data.sort_index(axis=1,ascending=False) #列索引按降序排序
data.order() #series按值排序,且缺失值會預設放句末
frame.sort_index(by="b") #按b列順序
frame.sort_index(by=["b","a"])
frame.index.is_unique #索引是否唯一
彙總和計算描述統計
data.sum(axis=1,skipna=False) #skipana排除缺失值,預設為True
data.idxmax() #索引最大值
df.cumsum() #累計加
df.describe() #顯示數量、均值、方差、最小最大值、各分位數,非數值型資料返回:count、unique、top、freq
data.corr() #相關係數
data.cov() #協方差
data.corrwith(data.IBM)
唯一值、值計數以及成員資格
data.unique() #顯示series中的唯一值
data.value_counts() #series中各值出現頻數,預設sort=True
data.isin(["b","c"]) #series是否為b或c
濾除缺失資料
data.dropna() #預設丟棄任何含有缺失值的行
data.dropna(how="all") #how="all"表示只丟棄全為NA的那些行
df.ix[:4,1]=NA #`.ix`函式,若dataframe沒有設定index,包含末端
df.fillna({1:0.5,3:-1})
df.fillna(0,inplace=True)