<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】精選22個Pandas函數!

          共 3994字,需瀏覽 8分鐘

           ·

          2022-03-03 01:46

          公眾號:尤而小屋
          作者: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不同的窗口數:

          我們發(fā)現:當窗口數大于前面的記錄數,則累計和用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進行迭代循環(huán)

          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])
          s1
          0????10.0
          1?????NaN
          2????16.0
          3????14.0
          4????30.0
          5?????NaN
          dtype:?float64
          s1.kurtosis(skipna=True)

          2.646199227619398

          last函數

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

          i?=?pd.date_range('2018-04-09',?#?起始日期
          ??????????????????periods=4,??#?周期
          ??????????????????freq='2D')??#?頻率、間隔
          i
          DatetimeIndex(['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就是分位數的意思,函數具體的語法規(guī)則為:

          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))
          w
          0????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
          往期精彩回顧




          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV自拍 | 四虎大香蕉| 三区在线| 天堂青草福利视频 | 撸一撸在线视频 |