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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

今天我們將一下如何查看Pandas中的各類(lèi)數(shù)據(jù)以及對(duì)Pandas進(jìn)行處理的一些方法,通過(guò)這些方法我們可以更快的掌握Pandas對(duì)數(shù)據(jù)進(jìn)行處理:

  • 描述與統(tǒng)計(jì)
  • 函數(shù)應(yīng)用
  • 修改列/行索引名稱(chēng)
  • 類(lèi)型的操作
  • 表合并的方式

一、描述與統(tǒng)計(jì)

有時(shí)會(huì)我們?cè)讷@取到數(shù)據(jù)之后,想要查看一下數(shù)據(jù)的簡(jiǎn)單統(tǒng)計(jì)指標(biāo)(比如最大值,最小值,平均值,中位數(shù)等等),如想要查看年齡的最大值,就可以直接對(duì)年齡這一列調(diào)用max方法就可以了。

1、查看最大值

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

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

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

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

2、查看均值

  • 查看眾英雄年齡的均值

類(lèi)似的可以通過(guò)調(diào)用min、mean、quantile、sum 方法可以實(shí)現(xiàn)最小值、平均值、中位數(shù)以及求和。可以看到,對(duì)一個(gè)Series調(diào)用這幾個(gè)方法之后,返回的都只是一個(gè)聚合結(jié)果。

3、按軸求和

下面給大家介紹一個(gè)有意思的方法:cumsum(),看這個(gè)方法的名字就能看出來(lái)它跟sum方法有點(diǎn)關(guān)系,應(yīng)該是用來(lái)求和之類(lèi)的,事實(shí)上的確如此,cumsum也是用來(lái)求和的,不過(guò)他是用來(lái)累加求和的,也就是通過(guò)它得到的結(jié)果與原始的Series或DataFrame的大小相同。

通過(guò)結(jié)果可以看到,cumsum最后的結(jié)果就是將上一次求和的結(jié)果與原始當(dāng)前值求和作為當(dāng)前值。

當(dāng)然如果只是這種功能的話,也就沒(méi)有那么有意思了,這個(gè)方法有意思的是可以對(duì)字符串類(lèi)型的對(duì)象進(jìn)行操作。

4、查看表格信息

雖然說(shuō)常見(jiàn)的各種統(tǒng)計(jì)值都有對(duì)應(yīng)的方法,如果我想要得到多個(gè)指標(biāo)的話,就需要調(diào)用多次方法,是不是顯得有點(diǎn)麻煩呢?

Pandas 設(shè)計(jì)者自然也考慮到了這個(gè)問(wèn)題,想要一次性獲取多個(gè)統(tǒng)計(jì)指標(biāo),只需調(diào)用 describe 方法即可。

可以看到,直接調(diào)用describe方法后,會(huì)顯示出數(shù)字類(lèi)型的一些統(tǒng)計(jì)指標(biāo)比如:總數(shù),平均數(shù),標(biāo)準(zhǔn)差,最小值,最大值,四分位數(shù)等

如果想要查看非數(shù)字類(lèi)型的列的統(tǒng)計(jì)指標(biāo)的話,可以設(shè)置include=[object]來(lái)獲得數(shù)據(jù)。

6、統(tǒng)計(jì)某個(gè)值出現(xiàn)的次數(shù):value_counts

  • 查看英雄們的城市和性別出現(xiàn)的次數(shù)
  • 查看英雄的年齡分布

7、查看最小值或最大值對(duì)應(yīng)的索引

如果想要查看某列最大值或最小值對(duì)應(yīng)的的索引可以使用idxmax或idxmin方法來(lái)完成。

如果索引不是數(shù)據(jù)的話將會(huì)返回該行的行數(shù)。

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

8、離散化

有時(shí)候我們?cè)谔幚頂?shù)據(jù)的時(shí)候會(huì)碰到一些需求,比如想要將年齡進(jìn)行離散化,也就是將年齡分成幾個(gè)區(qū)間,這里我們想要將年齡分成三個(gè)區(qū)間段,就可以使用pandas的cut方法來(lái)完成。

通過(guò)這個(gè)結(jié)果可以看到,cut自動(dòng)生成了等距的離散區(qū)間,如果自己想定義也是沒(méi)有問(wèn)題的。

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

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

使用loc[]給表添加列

除了可以使用cut進(jìn)行離散化之外,qcut也可以實(shí)現(xiàn)離散化。Cut是根據(jù)每個(gè)值的大小來(lái)進(jìn)行離散化,qcut是根據(jù)每個(gè)值出現(xiàn)的次數(shù)進(jìn)行離散化的。

9、排序功能

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

9.1、按索引排序

  • Sort_index()方法默認(rèn)是按照索引進(jìn)行正序排列

下面這個(gè)是英文索引下的排序

  • 還可以通過(guò)sort_values(by=’’)進(jìn)行排序,by的意思是通過(guò)什么區(qū)排序,直接填寫(xiě)也可以。

按性別排序:

按年齡排序:

如果想要進(jìn)行倒序排列,可以設(shè)置參數(shù)axis=1或則ascending=False

9.2、按值排序

如果想要實(shí)現(xiàn)按照實(shí)際值來(lái)排序,例如想要按照年齡排序。

使用sort_values方法,參數(shù)設(shè)置by=age即可

有時(shí)候我們可能需要按照多個(gè)值來(lái)排序,例如:按照年齡和城市來(lái)一起排序,可以設(shè)置參數(shù) by 為一個(gè) list 即可,需要注意的是:list 中每個(gè)元素的順序會(huì)影響排序優(yōu)先級(jí)的,先分組在排序,最后一個(gè)為排序標(biāo)準(zhǔn)。

有時(shí)候數(shù)據(jù)量太大的時(shí)候,我們可能只需要看前幾行或者后幾行的數(shù)據(jù),那么這個(gè)時(shí)候我們就可以用head()和tail()方法查看,head()方法默認(rèn)只打印前5行內(nèi)容,括號(hào)內(nèi)可以填寫(xiě)想要的行數(shù),tail()方法同理,只不過(guò)tail()方法是查看后五行的數(shù)據(jù)。

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

二、函數(shù)應(yīng)用

1.根據(jù)現(xiàn)有列生成新的列

  • 生成一列元素為英雄年齡對(duì)數(shù)的
  • 生成一列身高列
  • 生成一列年齡加一的列
  • 經(jīng)過(guò)了復(fù)聯(lián)4后,英雄們通過(guò)各種戰(zhàn)斗現(xiàn)在都統(tǒng)一長(zhǎng)高了10厘米,現(xiàn)在再表格中添加一列英雄們的新身高
  • 現(xiàn)在給英雄表中添加一列性別代碼列,1代表女士,0代表男式

2、常用函數(shù)

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

  • Map是是 Series 中特有的方法,通過(guò)它可以對(duì) Series 中的每個(gè)元素實(shí)現(xiàn)轉(zhuǎn)換。如果想通過(guò)年齡判斷用戶是否屬于中年人(50歲以上為中年),通過(guò) map 可以輕松搞定它。

又比如我們可以通過(guò)城市來(lái)判斷地球還是外星,我們可以這么操作。

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

對(duì)于series來(lái)說(shuō),apply方法和map方法差別不大

但是對(duì)于DataFrame來(lái)說(shuō),apply方法的作用對(duì)象是一行或一列數(shù)據(jù)

  • Applymap: applymap方法針對(duì)于DataFrame,它作用于DataFrame中的每個(gè)元素,它對(duì)DataFrame的效果類(lèi)似于apply對(duì) Series 的效果。

三、修改列/索引名稱(chēng)

在使用 DataFrame 的過(guò)程中,經(jīng)常會(huì)遇到修改列名,索引名等情況。使用 rename 輕松可以實(shí)現(xiàn)。修改列名只需要設(shè)置參數(shù) columns 即可。

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

四、類(lèi)型操作

1、get_dtype_counts()

如果想要獲取每種類(lèi)型的列數(shù)的話,可以使用 get_dtype_counts 方法

2、 astype()

如果想要轉(zhuǎn)換數(shù)據(jù)類(lèi)型的話,可以通過(guò)astype來(lái)完成

2.1、生成一列年齡的對(duì)數(shù)列,并且列元素元素為整數(shù)列

  • 首先使用np.log生成一列對(duì)數(shù)列
  • 使用round()函數(shù)將對(duì)數(shù)列四舍五入
  • 使用astype()將對(duì)數(shù)列轉(zhuǎn)為整數(shù)列

2.2將年齡列改為浮點(diǎn)型

3、其他方法

有時(shí)候會(huì)涉及到將 object 類(lèi)型轉(zhuǎn)為其他類(lèi)型,常見(jiàn)的有轉(zhuǎn)為數(shù)字、日期、時(shí)間差,Pandas 中分別對(duì)應(yīng) to_numeric、to_datetime、to_timedelta 方法。

五、表合并的方式

1、append()方式

  • 導(dǎo)入兩個(gè)表
  • 查看兩個(gè)表的內(nèi)容
  • 使用append()方法將2表導(dǎo)入到1表中

2、concat()

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

2.2、橫向合并(axis=1)

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。