日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】精选22个Pandas函数!

發布時間:2025/3/12 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】精选22个Pandas函数! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

公眾號:尤而小屋
作者:Peter
編輯:Peter

今天小編又從26個字母中精選出22個Pandas常用的函數,將它們的使用方法簡單介紹給大家,詳細內容可以查看官網學習。

其中o、y、z沒有相應的函數。之前寫過一篇文章,可以參考學習:

精選23個Pandas常用函數

import?pandas?as?pd import?numpy?as?np

apply函數

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.646199227619398

last函數

這是一個用在基于時間數據選擇上的函數

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位大寫 df7

keep參數在不同取值下的結果:

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往期精彩回顧適合初學者入門人工智能的路線及資料下載(圖文+視頻)機器學習入門系列下載中國大學慕課《機器學習》(黃海廣主講)機器學習及深度學習筆記等資料打印《統計學習方法》的代碼復現專輯 AI基礎下載機器學習交流qq群955171419,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【Python】精选22个Pandas函数!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。