欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python基礎(chǔ)篇之pandas常用基本函數(shù)匯總

 更新時(shí)間:2022年07月05日 09:40:22   作者:就想做一條閑魚(yú)  
Pandas是一個(gè)python數(shù)據(jù)分析庫(kù),它提供了許多函數(shù)和方法來(lái)加快數(shù)據(jù)分析過(guò)程,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)篇之pandas常用基本函數(shù)的相關(guān)資料,需要的朋友可以參考下

前言

這篇主要整理pandas常用的基本函數(shù),主要分為五部分:

  • 匯總函數(shù)
  • 特征統(tǒng)計(jì)函數(shù)
  • 唯一值函數(shù)
  • 替換函數(shù)
  • 排序函數(shù)

1、匯總函數(shù)

常用的主要是4個(gè):

  • tail(): 返回表或序列的后n行
  • head(): 返回表或序列的前n行
  • info(): 返回表的信息概況
  • describe(): 返回表中數(shù)值列對(duì)應(yīng)的主要統(tǒng)計(jì)量

n默認(rèn)為5

df.describe()

#運(yùn)行截圖
	Height	Weight
count	183.000000	189.000000
mean	163.218033	55.015873
std	8.608879	12.824294
min	145.400000	34.000000
25%	157.150000	46.000000
50%	161.900000	51.000000
75%	167.500000	65.000000
max	193.900000	89.000000

2、特征統(tǒng)計(jì)函數(shù)

在Series和DataFrame上定義了許多統(tǒng)計(jì)函數(shù),最常見(jiàn)的是:

  • sum
  • mean (均值)
  • median (中位數(shù))
  • var (方差)
  • std (標(biāo)準(zhǔn)差)
  • max
  • min

用法示例

df_demo = df[['Height', 'Weight']]
df_demo.mean()

聚合函數(shù)

  • quantile (返回分位數(shù))
  • count (返回非缺失值個(gè)數(shù))
  • idxmax (最大值對(duì)應(yīng)的索引)

聚合函數(shù),有一個(gè)公共參數(shù)axis,axis=0代表逐列聚合,axis=1表示逐行聚合

df_demo.mean(axis=1).head()

3、唯一值函數(shù)

唯一值函數(shù)常用的四個(gè)函數(shù):

  • unique() : 得到唯一值組成的列表->統(tǒng)計(jì)出指定列唯一存在的值有哪些
  • nunique() :唯一值的個(gè)數(shù)->統(tǒng)計(jì)出指定列唯一存在的值總共有多少個(gè)
  • value_counts() : 得到唯一值和其對(duì)應(yīng)出現(xiàn)的頻數(shù)
  • drop_duplicates() : 去重
  • duplicated()

drop_duplicates()基本用法

  • 關(guān)鍵參數(shù)keep
  • first : 保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行
  • last : 刪除重復(fù)項(xiàng),除了最后一次出現(xiàn)
  • False:把所有重復(fù)組合所在的行剔除。

需要指定列

代碼:

#原本的數(shù)據(jù)樣例
df_demo = df[['Gender','Transfer','Name']]
df_demo
    Gender    Transfer    Name
0    Female    N    Gaopeng Yang
1    Male    N    Changqiang You
2    Male    N    Mei Sun
3    Female    N    Xiaojuan Sun
4    Male    N    Gaojuan You
...    ...    ...    ...
195    Female    N    Xiaojuan Sun
196    Female    N    Li Zhao
197    Female    N    Chengqiang Chu
198    Male    N    Chengmei Shen
199    Male    N    Chunpeng Lv
200 rows × 3 columns
#現(xiàn)給Gender,Transfer兩列去重
df_demo.drop_duplicates(['Gender','Transfer'])
    Gender    Transfer    Name
0    Female    N    Gaopeng Yang
1    Male    N    Changqiang You
12    Female    NaN    Peng You
21    Male    NaN    Xiaopeng Shen
36    Male    Y    Xiaojuan Qin
43    Female    Y    Gaoli Feng

由此可見(jiàn),使用了first參數(shù),保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行

在未指定參數(shù)的情況下,keep默認(rèn)first;

指定last

案例如下:

df_demo.drop_duplicates(['Gender', 'Transfer'], keep='last')
    Gender    Transfer    Name
147    Male    NaN    Juan You
150    Male    Y    Chengpeng You
169    Female    Y    Chengquan Qin
194    Female    NaN    Yanmei Qian
197    Female    N    Chengqiang Chu
199    Male    N    Chunpeng Lv

last:刪除所有的重復(fù)行,只保留出現(xiàn)的最后一個(gè)

drop_duplicates() & duplicated()的區(qū)別

duplicated和drop_duplicates的功能類似,但前者返回了是否為唯一值的布爾列表,其keep參數(shù)與后者一致。其返回的序列,把重復(fù)元素設(shè)為True,否則為False。 drop_duplicates等價(jià)于把duplicated為True的對(duì)應(yīng)行剔除。

4、替換函數(shù)

替換函數(shù)有三類:

  • 映射函數(shù):replace()…
  • 邏輯函數(shù):(1)where (2)mask
  • 數(shù)值替換

replace的用法

#原本的數(shù)據(jù)
df_demo = df[['Gender','Transfer','Name']]
df_demo
    Gender    Transfer    Name
0    Female    N    Gaopeng Yang
1    Male    N    Changqiang You
2    Male    N    Mei Sun
3    Female    N    Xiaojuan Sun
4    Male    N    Gaojuan You
...    ...    ...    ...
195    Female    N    Xiaojuan Sun
196    Female    N    Li Zhao
197    Female    N    Chengqiang Chu
198    Male    N    Chengmei Shen
199    Male    N    Chunpeng Lv
200 rows × 3 columns
#替換Gender,女替換為0,男替換為1
df['Gender'].replace({'Female':0, 'Male':1}).head()
0    0
1    1
2    1
3    0
4    1
Name: Gender, dtype: int64

邏輯替換

邏輯替換包括了where和mask,這兩個(gè)函數(shù)是完全對(duì)稱的:where函數(shù)在傳入條件為False的對(duì)應(yīng)行進(jìn)行替換,而mask在傳入條件為True的對(duì)應(yīng)行進(jìn)行替換,當(dāng)不指定替換值時(shí),替換為缺失值(NAN)

s = pd.Series([-1, 1.2345, 100, -50])
s.where(s<0)
0    -1.0
1     NaN
2     NaN
3   -50.0
dtype: float64
s.where(s<0, 100)
0     -1.0
1    100.0
2    100.0
3    -50.0
dtype: float64
s.mask(s<0)
0         NaN
1      1.2345
2    100.0000
3         NaN
dtype: float64

總結(jié)

到此這篇關(guān)于python基礎(chǔ)篇之pandas常用基本函數(shù)匯總的文章就介紹到這了,更多相關(guān)python pandas常用函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論