中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
介紹一款進階版的 Pandas 數(shù)據(jù)分析神器:Polars
相信對于不少的數(shù)據(jù)分析從業(yè)者來說呢,用的比較多的是Pandas以及SQL這兩種工具,Pandas不但能夠?qū)?shù)據(jù)集進行清理與分析,并且還能夠繪制各種各樣的炫酷的圖表,但是遇到數(shù)據(jù)集很大的時候要是還使用Pandas來處理顯然有點力不從心。
今天小編就來介紹另外一個數(shù)據(jù)處理與分析工具,叫做Polars,它在數(shù)據(jù)處理的速度上更快,當(dāng)然里面還包括兩種API,一種是Eager API,另一種則是Lazy API,其中Eager APIPandas的使用類似,語法類似差不太多,立即執(zhí)行就能產(chǎn)生結(jié)果。
Lazy APISpark很相似,會有并行以及對查詢邏輯優(yōu)化的操作。

模塊的安裝與導(dǎo)入

我們先來進行模塊的安裝,使用pip命令
pip install polars
在安裝成功之后,我們分別用PandasPolars來讀取數(shù)據(jù),看一下各自性能上的差異,我們導(dǎo)入會要用到的模塊
import pandas as pd
import polars as pl
import matplotlib.pyplot as plt
%matplotlib inline

Pandas讀取文件

本次使用的數(shù)據(jù)集是某網(wǎng)站注冊用戶的用戶名數(shù)據(jù),總共有360MB大小,我們先用Pandas模塊來讀取該csv文件
%%time 
df = pd.read_csv('users.csv')
df.head()
output
可以看到用Pandas讀取CSV文件總共花費了12秒的時間,數(shù)據(jù)集總共有兩列,一列是用戶名稱,以及用戶名稱重復(fù)的次數(shù)“n”,我們來對數(shù)據(jù)集進行排序,調(diào)用的是sort_values()方法,代碼如下
%%time 
df.sort_values('n', ascending=False).head()
output

Polars來讀取操作文件

下面我們用Polars模塊來讀取并操作文件,看看所需要的多久的時間,代碼如下
%%time 
data = pl.read_csv('users.csv')
data.head()
output
可以看到用polars模塊來讀取數(shù)據(jù)僅僅只花費了730毫秒的時間,可以說是快了不少的,我們根據(jù)“n”這一列來對數(shù)據(jù)集進行排序,代碼如下
%%time
data.sort(by='n', reverse=True).head()
output
對數(shù)據(jù)集進行排序所消耗的時間為1.39秒,接下來我們用polars模塊來對數(shù)據(jù)集進行一個初步的探索性分析,數(shù)據(jù)集總共有哪些列、列名都有哪些,我們還是以熟知“泰坦尼克號”數(shù)據(jù)集為例
df_titanic = pd.read_csv('titanic.csv')
df_titanic.columns
output
['PassengerId',
 'Survived',
 'Pclass',
 'Name',
 'Sex',
 'Age',
 ......]
Pandas一樣輸出列名調(diào)用的是columns方法,然后我們來看一下數(shù)據(jù)集總共是有幾行幾列的,
df_titanic.shape
output
(891, 12)
看一下數(shù)據(jù)集中每一列的數(shù)據(jù)類型
df_titanic.dtypes
output
[polars.datatypes.Int64,
 polars.datatypes.Int64,
 polars.datatypes.Int64,
 polars.datatypes.Utf8,
 polars.datatypes.Utf8,
 polars.datatypes.Float64,
......]

填充空值與數(shù)據(jù)的統(tǒng)計分析

我們來看一下數(shù)據(jù)集當(dāng)中空值的分布情況,調(diào)用null_count()方法
df_titanic.null_count()
output
我們可以看到“Age”以及“Cabin”兩列存在著空值,我們可以嘗試用平均值來進行填充,代碼如下
df_titanic['Age'] = df_titanic['Age'].fill_nan(df_titanic['Age'].mean())
計算某一列的平均值只需要調(diào)用mean()方法即可,那么中位數(shù)、最大/最小值的計算也是同樣的道理,代碼如下
print(f'Median Age: {df_titanic['Age'].median()}')
print(f'Average Age: {df_titanic['Age'].mean()}')
print(f'Maximum Age: {df_titanic['Age'].max()}')
print(f'Minimum Age: {df_titanic['Age'].min()}')
output
Median Age: 29.69911764705882
Average Age: 29.699117647058817
Maximum Age: 80.0
Minimum Age: 0.42

數(shù)據(jù)的篩選與可視化

我們篩選出年齡大于40歲的乘客有哪些,代碼如下
df_titanic[df_titanic['Age'] > 40]
output
最后我們簡單地來繪制一張圖表,代碼如下
fig, ax = plt.subplots(figsize=(10, 5))
ax.boxplot(df_titanic['Age'])
plt.xticks(rotation=90)
plt.xlabel('Age Column')
plt.ylabel('Age')
plt.show()
output
總體來說呢,polars在數(shù)據(jù)分析與處理上面和Pandas模塊有很多相似的地方,其中會有一部分的API存在著差異,感興趣的童鞋可以參考其官網(wǎng):https://www.pola.rs/
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一款Python高性能數(shù)據(jù)處理工具
Python數(shù)據(jù)分析神器Pandas與數(shù)據(jù)庫查詢語言SQL的對比
pandas刪除空數(shù)據(jù)行及列dropna()
python缺失值處理案例分析:泰坦尼克數(shù)據(jù)
6.6K Star!比 Pandas 快很多的數(shù)據(jù)處理庫
Pandas庫 | DataFrame類常用知識點總結(jié)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服