對不起,給pandas配表情包太難了,pandas你該這么學,No.6


如果圖片無法觀看,請移步 https://blog.csdn.net/hihell

標題起的長,才能引起你的注意呢

昨天,有個家伙,留言給我說
嫌我不好好寫博客

就知道給文章配表情包

在這里,鄭重的回復一下

我願意(╬◣д◢)
在這里插入圖片描述

上篇博客,我們搗鼓了屬性和簡單的幾個函數

這篇博客,我們繼續圍繞着dataframe轉圈圈吧

首先從計算函數說起

咱先聲明一個dataframe,方便后續操作

import pandas as pd

df_dict = {
    "boys":[10,20,30],
    "girls":[20,40,60]
}

df = pd.DataFrame(df_dict)
print(df)

對於一個高手來說,從上帝視角對數據有一個基本的把握是最重要的

那么我們需要一個函數

describe

你只需要使用一下,就能得到很多的信息哦~

來,看一下結果

       boys  girls
count   3.0    3.0
mean   20.0   40.0
std    10.0   20.0
min    10.0   20.0
25%    15.0   30.0
50%    20.0   40.0
75%    25.0   50.0
max    30.0   60.0

這不要啥有啥么

只要你英文沒啥大問題,認識count,mean,std,min,max

恭喜你,上面的數據
你都能看懂

這上帝視角

數據一覽無余
在這里插入圖片描述

接下來,你就可以分開顯示了

pandas神奇的地方即將出現

當你學會一個函數
同步你會學會好幾個

我拿count舉個栗子啊
為什么,拿着個舉例子

還不是因為它最簡單!

先看代碼,在講解

import pandas as pd
df_dict = {
    "boys":[10,20,30],
    "girls":[20,40,60]
}
df = pd.DataFrame(df_dict)
print(df.count(axis=0))

輸出的結果,請注意

boys     3
girls    3
dtype: int64

是個series沒錯了

那么,重點來了,我這個偽大佬要開課了

df.count()函數,統計cells個數,
額,還是大白話吧

就是統計行或者列的小格子個數

在這里插入圖片描述

嗯,這么說,容易懂

它有個參數,非常,非常,非常重要

以后會經常碰到

這個參數,就是axis,翻譯成中文,叫做軸

沒錯,就是坐標軸的那個軸

默認值呢是0

0等於index
1等於columns

難度來了,這個地方不好記(因為,我總是搞錯 Σ(っ°Д°;)っ)

在這里插入圖片描述

在嘗試大白話解釋一下df.count(axis=0)的意思

統計每一列單元格(小格子)數量

咦?不太對啊

剛剛不是還說0等於index么?

df.count(axis=0),不應該統計行么?咋還統計成列了呢?

解釋最后一次了哦

axis=0 這個參數表示為每列生成計數
在這里插入圖片描述
上面的紅框,叫做每列

所以,列名有幾個,統計出來的結果就有幾個

這個很容易暈哦~

我覺得你應該暈了

哎~慢慢繞吧
在這里插入圖片描述

同理axis=1就表示為每行生成計數

剛剛的數據有三行,那對應的肯定生成三行嘍

小提示

axis='index' 等於  axis = 0
axis = 'columns' 等於 axis = 1

為什么要在這個地方叨叨這么多呢

還不是因為下面這個圖

在這里插入圖片描述
看完這個圖,之后

我相信,你應該對axis這個函數瞬間感興趣了

在這里插入圖片描述

這完全搞不定,沒法用的節奏啊

難不成,每次都跟我一樣

先猜0,不對,在換成1

哈哈哈哈哈哈哈哈哈
(好像暴露了,我菜的本質了呢)

在這里插入圖片描述

df.count()學習完畢之后,來個df.min(),df.max(),df.mean()吧

哈哈,這三個函數咱看一下,其實非常簡單的

import pandas as pd
df_dict = {
    "boys":[10,20,30],
    "girls":[20,40,60]
}
df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
print(df.mean(axis=1))
  • df.min() 最小值
  • df.max() 最大值
  • df.mean() 平均值

上面是獲取值

記住,有值就有索引

然后再展示一段代碼

需求,我們要獲取每列中最小值的索引

import pandas as pd

df_dict = {
    "boys":[10,20,30],
    "girls":[20,40,60]
}

df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
print(df.mean(axis=1))
print(df.idxmin())

  • df.idxmin() 按照列獲取
  • df.idxmin(axis=1) 按照行獲取

電腦面前的你,趕緊的吧,

你一試就知道結果了

還等什么?

其他的,像方差,求和,標准差,都去試試吧

你可以滴!
在這里插入圖片描述

T來了

在學習series的時候,我們用了一個s.T
神奇的是啥效果也沒有

今天用dataframe在來試一下

import pandas as pd

df_dict = {
    "boys":[10,20,30],
    "girls":[20,40,60]
}

df = pd.DataFrame(df_dict,index=['class1','class2','class3'])

print(df)
print("x"*50)

print(df.T)

在這里插入圖片描述

看到沒?
出現效果了

行索引,變成列索引
列索引,變成行索引

厲害,厲害

其實這個就是轉置

線性代數上線啦

下課!

在這里插入圖片描述

話不多說,結束,開始展示公眾號

在這里插入圖片描述
還等什么,關注吧~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM