精选22个Pandas函数!
今天從26個字母中精選出22個Pandas常用的函數,將它們的使用方法簡單介紹給大家,詳細內容可以查看官網學習。
import?pandas?as?pd import?numpy?as?npapply函數
Pandas中一個很實用的函數,下面模擬了一份數據:
我們分別將python的內置函數、自定義函數、匿名函數傳給apply函數:
使用Python的匿名函數來進行傳遞:
between_time
start_time,? end_time,? include_start=NoDefault.no_default, include_end=NoDefault.no_default,? inclusive=None,? axis=None來自官網的案例:
如果在參數中,開始時間大于結束時間,則會呈現不同的結果:
contains函數
針對Series中的包含字符信息:
drop_duplicates函數
刪除數據中的重復值;可以選擇根據某個或者多個字段來刪除。
在刪除數據的時候,默認保留的是第一條重復的數據,我們可以通過參數keep來指定保留最后一條
expanding函數
這是一個窗口函數,實現的是一種類似累計求和的功能
DataFrame.expanding(min_periods=1,?center=None,?axis=0,?method='single')min_periods:每個窗口最少包含的觀測值數量,小于該數量的窗口結果為NA。值可以是int,默認None。offset情況下,默認為1
center:把窗口的標簽設置為居中,布爾型,默認False,居右
axis:默認為0,對列進行計算
method:single或者table
模擬了一份數據:
分別指定1-2-3不同的窗口數:
我們發現:當窗口數大于前面的記錄數,則累計和用NaN表示
filter函數
用來進行數據的過濾操作
items:表示包含的字段
regex:表示使用正則
ge函數
進行比較的一個函數:ge表示greater equal
hist函數
pandas內置的繪制直方圖的函數
df4?=?pd.DataFrame({'length':?[1.5,?0.5,?1.2,?0.9,?3],'width':?[0.7,?0.2,?0.15,?0.2,?1.1]},?index=['pig',?'rabbit',?'duck',?'chicken',?'horse'])hist?=?df4.hist(bins=3)iterrows函數
iterrows函數用于對DataFrame進行迭代循環
join函數
join函數用于合并不同的DataFrame
kurtosis函數
用于查找一組數據中的峰度值
kurtosis(axis=index(0)?or?columns(1),?skipna=True,?level=None,?numeric_only=None,?**kwargs)axis:要應用的函數的軸。
skipna:計算結果時排除NA /null值。
level:如果軸是MultiIndex(分層),則沿特定級別計數,并折疊成標量。
numeric_only:僅包括float,int,boolean列。
**kwargs:要傳遞給函數的其他關鍵字參數
如果給定的數據中存在缺失值,可以使用參數skipna直接跳過:
s1?=?pd.Series([10,None,16,14,30,None]) s10????10.0 1?????NaN 2????16.0 3????14.0 4????30.0 5?????NaN dtype:?float64s1.kurtosis(skipna=True)2.646199227619398last函數
這是一個用在基于時間數據選擇上的函數
i?=?pd.date_range('2018-04-09',?#?起始日期periods=4,??#?周期freq='2D')??#?頻率、間隔 iDatetimeIndex(['2018-04-09',?'2018-04-11',?'2018-04-13',?'2018-04-15'],?dtype='datetime64[ns]',?freq='2D')注意:在這里返回的日歷中3個日的數據,而不是數據中的3行記錄。13-14-15剛好是3天
max/min/mean/median
4個基于統計概念的函數:最大值、最小值、均值、中位數
nlargest函數
選擇前n個的數據,其語法如下:
nlargest(n,?columns,?keep='first')n:整數
columns:根據一個或者多個字段篩選
keep:選擇first、last、all;默認是first
下面的例子來自官網:
df7?=?pd.DataFrame({'population':?[59000000,?65000000,?434000,434000,?434000,?337000,?11300,11300,?11300],'GDP':?[1937894,?2583560?,?12011,?4520,?12128,17036,?182,?38,?311],'alpha-2':?["IT",?"FR",?"MT",?"MV",?"BN","IS",?"NR",?"TV",?"AI"]},index=["Italy",?"France",?"Malta","Maldives",?"Brunei",?"Iceland","Nauru",?"Tuvalu",?"Anguilla"]) #?記錄每個國家的人口數、GDP和名稱2位大寫 df7keep參數在不同取值下的結果:
pop函數
表示刪除某個屬性或者字段信息
quantile函數
quantile就是分位數的意思,函數具體的語法規則為:
DataFrame.quantile(q=0.5,??axis=0,?numeric_only=True,interpolation=’linear’)q : 數字或者是類列表,范圍只能在0-1之間,默認是0.5,即中位數-第2四分位數
axis :計算方向,0-index, 1-columns,默認為 0
numeric_only:只允許是數值型數據
interpolation(插值方法):可以是 {‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}之一,默認是linear。
reset_index函數
reset就是重置的含義,index就是行索引;連起來就是重置行索引
df9?=?pd.DataFrame({"fruit":["蘋果","香蕉","橙子","橙子","蘋果","橙子"],"amount":[100,200,130,150,88,40]}) df9當我們統計每種水果的總銷售額,是否使用reset_index函數的不同效果:
select_dtypes函數
根據字段類型來篩選數據,可以包含或者排除一個或者多個字段類型的數據。
下面是官網的案例,稍作修改:生成了3個不同數據類型的字段
1、包含字段類型
2、排除字段類型
take函數
也是選擇數據的一個函數,具體語法為:
take(indices,?axis=0,?is_copy=None,?**kwargs)indices:選擇位置:數組或者切片
axis:選擇的軸,0-index,1-column,默認是0
is_copy:是否返回副本;從Pandas1.0開始
下面是多個例子:
以第一個例子來解釋,指定數據的記錄為0和4。表示取出df10中的第1條和第5條數據(索引從0開始),而不是看我們自定義的索引號。
update函數
更新某個DataFrame數據框;模擬兩個數據:
第一次更新的結果:
如果用于更新的數據中存在空值,則保持原來的數據不變
var函數
用于求一組數據的方差
where函數
用于查找滿足條件的數據
w?=?pd.Series(range(5)) w0????0 1????1 2????2 3????3 4????4 dtype:?int64#?滿足條件的顯示;不滿足的用空值代替 w.where(w>=2)0????NaN 1????NaN 2????2.0 3????3.0 4????4.0 dtype:?float64#?不滿足的用8替代 w.where(w>=2,?8)0????8??#?8代替 1????8 2????2 3????3 4????4 dtype:?int64-?END -
對比Excel系列圖書累積銷量達15w冊,讓你輕松掌握數據分析技能,可以在全網搜索書名進行了解選購: 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的精选22个Pandas函数!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: switch内存卡在哪放
- 下一篇: 谷歌深夜王炸级更新!PaLM 2大模型震