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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

查看某个方法在哪里被调用_一篇文章带你查看并处理Pandas数据

發布時間:2024/1/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 查看某个方法在哪里被调用_一篇文章带你查看并处理Pandas数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天我們將一下如何查看Pandas中的各類數據以及對Pandas進行處理的一些方法,通過這些方法我們可以更快的掌握Pandas對數據進行處理:

  • 描述與統計
  • 函數應用
  • 修改列/行索引名稱
  • 類型的操作
  • 表合并的方式

一、描述與統計

有時會我們在獲取到數據之后,想要查看一下數據的簡單統計指標(比如最大值,最小值,平均值,中位數等等),如想要查看年齡的最大值,就可以直接對年齡這一列調用max方法就可以了。

1、查看最大值

  • 查看眾英雄中年齡最大的是多少歲,三種方式都可以查看

第一種是使用np.max()對info表中的年齡列進行操作

第二種是使用np.max()對info表下的年齡進行操作

第三種是info表下的年齡進行max()查找

2、查看均值

  • 查看眾英雄年齡的均值

類似的可以通過調用min、mean、quantile、sum 方法可以實現最小值、平均值、中位數以及求和。可以看到,對一個Series調用這幾個方法之后,返回的都只是一個聚合結果。

3、按軸求和

下面給大家介紹一個有意思的方法:cumsum(),看這個方法的名字就能看出來它跟sum方法有點關系,應該是用來求和之類的,事實上的確如此,cumsum也是用來求和的,不過他是用來累加求和的,也就是通過它得到的結果與原始的Series或DataFrame的大小相同。

通過結果可以看到,cumsum最后的結果就是將上一次求和的結果與原始當前值求和作為當前值。

當然如果只是這種功能的話,也就沒有那么有意思了,這個方法有意思的是可以對字符串類型的對象進行操作。

4、查看表格信息

雖然說常見的各種統計值都有對應的方法,如果我想要得到多個指標的話,就需要調用多次方法,是不是顯得有點麻煩呢?

Pandas 設計者自然也考慮到了這個問題,想要一次性獲取多個統計指標,只需調用 describe 方法即可。

可以看到,直接調用describe方法后,會顯示出數字類型的一些統計指標比如:總數,平均數,標準差,最小值,最大值,四分位數等

如果想要查看非數字類型的列的統計指標的話,可以設置include=[object]來獲得數據。

6、統計某個值出現的次數:value_counts

  • 查看英雄們的城市和性別出現的次數
  • 查看英雄的年齡分布

7、查看最小值或最大值對應的索引

如果想要查看某列最大值或最小值對應的的索引可以使用idxmax或idxmin方法來完成。

如果索引不是數據的話將會返回該行的行數。

  • 查看哪位英雄的年齡最小
  • 查看哪位英雄的年齡最大

8、離散化

有時候我們在處理數據的時候會碰到一些需求,比如想要將年齡進行離散化,也就是將年齡分成幾個區間,這里我們想要將年齡分成三個區間段,就可以使用pandas的cut方法來完成。

通過這個結果可以看到,cut自動生成了等距的離散區間,如果自己想定義也是沒有問題的。

這里我們將區間定義為3個區間,1-30之間屬于青少年英雄,30-60之間的屬于中年英雄,60-5000就屬于不正常的的地球英雄了。有時候離散化之后,想要給每個區間起一個名字,那么我們可以指定labels參數

  • 給英雄們添加一列中青年屬性

使用loc[]給表添加列

除了可以使用cut進行離散化之外,qcut也可以實現離散化。Cut是根據每個值的大小來進行離散化,qcut是根據每個值出現的次數進行離散化的。

9、排序功能

在進行數據分析時,少不了的就是進行數據排序。Pandas支持兩種排序方式:按軸(索引或列)排序和按實際值排序。

9.1、按索引排序

  • Sort_index()方法默認是按照索引進行正序排列

下面這個是英文索引下的排序

  • 還可以通過sort_values(by=’’)進行排序,by的意思是通過什么區排序,直接填寫也可以。

按性別排序:

按年齡排序:

如果想要進行倒序排列,可以設置參數axis=1或則ascending=False

9.2、按值排序

如果想要實現按照實際值來排序,例如想要按照年齡排序。

使用sort_values方法,參數設置by=age即可

有時候我們可能需要按照多個值來排序,例如:按照年齡和城市來一起排序,可以設置參數 by 為一個 list 即可,需要注意的是:list 中每個元素的順序會影響排序優先級的,先分組在排序,最后一個為排序標準。

有時候數據量太大的時候,我們可能只需要看前幾行或者后幾行的數據,那么這個時候我們就可以用head()和tail()方法查看,head()方法默認只打印前5行內容,括號內可以填寫想要的行數,tail()方法同理,只不過tail()方法是查看后五行的數據。

一般在排序后,我們可能需要獲取最大的n個值或最小值的n個值,我們可以使用 nlargest 和 nsmallest 方法來完成,這比先進行排序,再使用 head(n)方法快得多。

二、函數應用

1.根據現有列生成新的列

  • 生成一列元素為英雄年齡對數的
  • 生成一列身高列
  • 生成一列年齡加一的列
  • 經過了復聯4后,英雄們通過各種戰斗現在都統一長高了10厘米,現在再表格中添加一列英雄們的新身高
  • 現在給英雄表中添加一列性別代碼列,1代表女士,0代表男式

2、常用函數

雖說 Pandas 為我們提供了非常豐富的函數,有時候我們可能需要自己定制一些函數,并將它應用到 DataFrame 或 Series。常用到的函數有map、apply、applymap。

  • Map是是 Series 中特有的方法,通過它可以對 Series 中的每個元素實現轉換。如果想通過年齡判斷用戶是否屬于中年人(50歲以上為中年),通過 map 可以輕松搞定它。

又比如我們可以通過城市來判斷地球還是外星,我們可以這么操作。

  • Apply方法: apply 方法既支持 Series,也支持 DataFrame,在對 Series 操作時會作用到每個值上,在對 DataFrame 操作時會作用到所有行或所有列(通過 axis參數控制)。

對于series來說,apply方法和map方法差別不大

但是對于DataFrame來說,apply方法的作用對象是一行或一列數據

  • Applymap: applymap方法針對于DataFrame,它作用于DataFrame中的每個元素,它對DataFrame的效果類似于apply對 Series 的效果。

三、修改列/索引名稱

在使用 DataFrame 的過程中,經常會遇到修改列名,索引名等情況。使用 rename 輕松可以實現。修改列名只需要設置參數 columns 即可。

  • 將鋼鐵俠和索爾的身高改為170
  • 生成一列字符串格式的身高列
  • 更改索引列名稱
  • 修改列標簽,將年齡改為age,城市改為city,性別改為sex
  • 類似的修改索引名只需要修改參數index就可以了

四、類型操作

1、get_dtype_counts()

如果想要獲取每種類型的列數的話,可以使用 get_dtype_counts 方法

2、 astype()

如果想要轉換數據類型的話,可以通過astype來完成

2.1、生成一列年齡的對數列,并且列元素元素為整數列

  • 首先使用np.log生成一列對數列
  • 使用round()函數將對數列四舍五入
  • 使用astype()將對數列轉為整數列

2.2將年齡列改為浮點型

3、其他方法

有時候會涉及到將 object 類型轉為其他類型,常見的有轉為數字、日期、時間差,Pandas 中分別對應 to_numeric、to_datetime、to_timedelta 方法。

五、表合并的方式

1、append()方式

  • 導入兩個表
  • 查看兩個表的內容
  • 使用append()方法將2表導入到1表中

2、concat()

2.1、縱向合并(axis=0(默認為0))

2.2、橫向合并(axis=1)

總結

以上是生活随笔為你收集整理的查看某个方法在哪里被调用_一篇文章带你查看并处理Pandas数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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