一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 更快進行探索性數據分析的四個方法

Python 更快進行探索性數據分析的四個方法

2022-03-02 00:19Python學習與數據挖掘 Python

今天我給大家分享幾種更快的探索性數據分析方法,它們可以進一步加速 EDA。 我們以一個學生考試成績的例子,創建一個如下所示的 DataFrame 并繼續操作。歡迎收藏學習,喜歡點贊支持

大家好,常用探索性數據分析方法很多,比如常用的 Pandas DataFrame 方法有 .head()、.tail()、.info()、.describe()、.plot() 和 .value_counts()。

import pandas as pd
import numpy as np
df = pd.DataFrame( {     
"Student" : ["Mike", "Jack", "Diana", "Charles", "Philipp", "Charles", "Kale", "Jack"] ,           
"City" : ["London", "London", "Berlin", "London", "London", "Berlin", "London", "Berlin"] ,
"Age" : [20, 40, 18, 24, 37, 40, 44, 20 ],
"Maths_Score" : [84, 80, 50, 36, 44, 24, 41, 35],
"Science_Score" : [66, 83, 51, 35, 43, 58, 71, 65]} ) 
df

 

在 Pandas 中創建 groupby() 對象

在許多情況下,我們希望將數據集拆分為多個組并對這些組進行處理。 Pandas 方法 groupby() 用于將 DataFrame 中的數據分組。

與其一起使用 groupby() 和聚合方法,不如創建一個 groupby() 對象。 理想的情況是,我們可以在需要時直接使用此對象。

讓我們根據列“City”將給定的 DataFrame 分組

df_city_group = df.groupby("City")

我們創建一個對象 df_city_group,該對象可以與不同的聚合相結合,例如 min()、max()、mean()、describe() 和 count()。 一個例子如下所示。

Python 更快進行探索性數據分析的四個方法


要獲取“City”是Berlin的 DataFrame 子集,只需使用方法 .get_group()

Python 更快進行探索性數據分析的四個方法


這不需要為每個組創建每個子 DataFrame 的副本,比較節省內存。

另外,使用 .groupby() 進行切片比常規方法快 2 倍!!

Python 更快進行探索性數據分析的四個方法

 

使用 .nlargest()

通常,我們根據特定列的值了解 DataFrame 的 Top 3 或 Top 5 數據。例如,從考試中獲得前 3 名得分者或從數據集中獲得前 5 名觀看次數最多的電影。使用 Pandas .nlargest() 是最簡單的方式。

df.nlargest(N, column_name, keep = ‘first' )

使用 .nlargest() 方法,可以檢索包含指定列的 Top ‘N' 值的 DataFrame 行。

在上面的示例中,讓我們獲取前 3 個“Maths_Score”的 DataFrame 的行。

Python 更快進行探索性數據分析的四個方法

如果兩個值之間存在聯系,則可以修改附加參數和可選參數。 它需要值“first”、“last”和“all”來檢索領帶中的第一個、最后一個和所有值。這種方法的優點是,你不需要專門對 DataFrame 進行排序。

 

使用 .nsmallest()

與Top 3 或5 類似,有時我們也需要DataFrame 中的Last 5 條記錄。例如,獲得評分最低的 5 部電影或考試中得分最低的 5 名學生。使用 Pandas .nsmallest() 是最簡單的方式

df.nsmallestst(N, column_name, keep = ‘first' )

使用 .nsmallest() 方法,可以檢索包含指定列的底部“N”個值的 DataFrame 行。

在同一個示例中,讓我們獲取 DataFrame“df”中“Maths_Score”最低的 3 行。

Python 更快進行探索性數據分析的四個方法

 

邏輯比較

比較運算符 <、>、<=、>=、==、!= 及其包裝器 .lt()、.gt()、.le()、.ge()、.eq() 和 .ne() 分別在以下情況下非常方便將 DataFrame 與基值進行比較,這種比較會產生一系列布爾值,這些值可用作以后的指標。

  • 基于比較對 DataFrame 進行切片
  • 可以基于與值的比較從 DataFrame 中提取子集。
  • 根據兩列的比較在現有 DataFrame 中創建一個新列。

所有這些場景都在下面的示例中進行了解釋

# 1. Comparing the DataFrame to a base value
# Selecting the columns with numerical values only
df.iloc[:,2:5].gt(50)
df.iloc[:,2:5].lt(50)

# 2. Slicing the DataFrame based on comparison
# df1 is subset of df when values in "Maths_Score" column are not equal or equal to '35'
df1 = df[df["Maths_Score"].ne(35)]
df2 = df[df["Maths_Score"].eq(35)]


# 3. Creating new column of True-False values by comparing two columns
df["Maths_Student"] = df["Maths_Score"].ge(df["Science_Score"])
df["Maths_Student_1"] = df["Science_Score"].le(df["Maths_Score"])

 

總結

在使用 Python 進行數據分析時,我發現這些方法非常方便,它確實讓數據分析變得更快。歡迎大家嘗試這些,如果你有那些更棒的方法,歡迎評論區留言!

 

技術交流

歡迎轉載、收藏、有所收獲點贊支持一下!

Python 更快進行探索性數據分析的四個方法

到此這篇關于Python 更快進行探索性數據分析的四個方法的文章就介紹到這了,更多相關Python 數據分析內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_38037405/article/details/121313556

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美bbb人妖 | 国产一级在线免费观看 | 欧美帅老头oldmangay | 国产资源一区 | 精品国产福利在线观看一区 | 国产精品成人麻豆专区 | 狠狠撸在线播放 | 国产激情久久久久影院小草 | www.com日本| 成年视频在线观看免费 | 国产成人愉拍精品 | 日韩精品欧美 | 成年人在线免费看 | 欧美大陆日韩一区二区三区 | 欧美亚洲另类综合 | 美女隐私部位视频网站 | 亚洲精品视频网 | 美女和男人一起差差 | 午夜精品久久久 | 7788理论片在线观看 | 无码国产成人777爽死 | 欧美a级在线| 免费日韩 | 精品一区二区三区高清免费不卡 | 国内精品久久久久久中文字幕 | ass性强迫rape| 色哟哟在线视频 | 男女车车好快的车车免费网站 | 大胸孕妇孕交pregnantsex 大象视频污 | 欧美a级v片在线观看一区 | 亚洲国产99 | 狠狠综合视频精品播放 | 王晶经典三级 | 天堂中文在线免费观看 | 国产一区日韩二区欧美三区 | 幻女free性zozo交体内谢 | 白丝h视频 | 国产欧美一区二区精品久久久 | 国产亚洲精品自在线亚洲情侣 | 亚洲 欧美 国产 综合久久 | 欧美日韩国产精品综合 |