python中显示第三行数据_Python从零开始第三章数据处理与分析①python中的dplyr(1)...
前言
我經(jīng)常使用R的dplyr軟件包進(jìn)行探索性數(shù)據(jù)分析和數(shù)據(jù)處理。 dplyr除了提供一組可用于解決最常見(jiàn)數(shù)據(jù)操作問(wèn)題的一致函數(shù)外,dplyr還允許用戶使用管道函數(shù)編寫優(yōu)雅的可鏈接的數(shù)據(jù)操作代碼。
現(xiàn)在,Python是我的主要語(yǔ)言,pandas是我用于數(shù)據(jù)分析的助手,但我經(jīng)常希望有一個(gè)Python包允許直接在pandas DataFrame上進(jìn)行dplyr風(fēng)格的數(shù)據(jù)操作。于是我找到了一個(gè)名為dfply的軟件包,由Kiefer Katovich開(kāi)發(fā)。 與dplyr一樣,dfply也允許使用管道運(yùn)算符鏈接多個(gè)操作。
這篇文章將重點(diǎn)介紹dfply包的核心功能,并展示如何使用它們來(lái)操作pandas DataFrames。
入門
我們需要做的第一件事是使用pip安裝軟件包。
pip install dfply
根據(jù)該項(xiàng)目的Github介紹,dfply僅適用于Python 3,因此請(qǐng)確保安裝了正確版本的Python。
使用用dfply管道函數(shù)
ddfply直接在pandas DataFrames上工作,使用>>運(yùn)算符鏈接對(duì)數(shù)據(jù)的操作,或者以>> =從inplace操作開(kāi)始。 在dfply中,操作鏈的每個(gè)步驟的DataFrame結(jié)果由X表示。例如,如果要在步驟中從DataFrame中選擇三列,請(qǐng)?jiān)谙乱徊街袆h除第三列,然后顯示最終數(shù)據(jù)的前三行,您可以執(zhí)行以下操作:
# 'data' is the original pandas DataFrame
(data >>
select(X.first_col, X.second_col, X.third_col) >>
drop(X.third_col) >>
head(3))
select和drop都是dfply轉(zhuǎn)換函數(shù),而X代表每個(gè)轉(zhuǎn)換步驟的結(jié)果。
使用select()和drop()選擇和刪除列
# 'data' is the original pandas DataFrame
(diamonds >>
select(X.carat, X.cut, X.color) >>
drop(X.cut) >>
head(3))
Out[10]:
carat color
0 0.23 E
1 0.21 E
2 0.23 E
diamonds >> drop(1, X.price, ['x', 'y']) >> head(2)
Out[26]:
carat color clarity depth table z
0 0.23 E SI2 61.5 55.0 2.43
1 0.21 E SI1 59.8 61.0 2.31
使用的數(shù)據(jù)集是經(jīng)典的diamond數(shù)據(jù)集,通過(guò)上面的代碼我們篩選了carat,cut和color三列然后刪除了cut列
還可以通過(guò)在要?jiǎng)h除的列的前面放置一個(gè)波浪號(hào)?來(lái)刪除select()方法中的列。
例如,要選擇diamonds中除cut以外的所有已經(jīng)選擇列:
(diamonds >>
select(X.carat, X.cut, X.color) >>
select(~X.cut) >>
head(3))
Out[10]:
carat color
0 0.23 E
1 0.21 E
2 0.23 E
使用mask()過(guò)濾行
mask()允許您根據(jù)邏輯條件在pandas DataFrame中選擇行的子集。 mask()選擇條件為/的所有行。
例如,要選擇carat > 0.21以及cut==’Fair同時(shí)price < 563的行:
df = (diamonds >>
select(X.carat, X.cut, X.price) >>
mask(X.carat > 0.21, X.cut=='Fair', X.price < 563))
df
Out[23]:
carat cut price
8 0.22 Fair 337
10030 0.30 Fair 416
28270 0.25 Fair 361
31611 0.23 Fair 369
31615 0.27 Fair 371
40591 0.30 Fair 496
40597 0.34 Fair 497
46961 0.37 Fair 527
48630 0.30 Fair 536
使用arrange()對(duì)行進(jìn)行排序
arrange()允許您根據(jù)一列或多列來(lái)排序行; 默認(rèn)行為是按升序?qū)π羞M(jìn)行排序。例如,要按carat,然后按price排序,我們會(huì):
df = (diamonds >>
select(X.carat, X.cut, X.price) >>
mask(X.carat > 0.21, X.cut=='Fair', X.price < 563) >>
arrange(X.carat,X.price))
df
Out[27]:
carat cut price
8 0.22 Fair 337
31611 0.23 Fair 369
28270 0.25 Fair 361
31615 0.27 Fair 371
10030 0.30 Fair 416
40591 0.30 Fair 496
48630 0.30 Fair 536
40597 0.34 Fair 497
46961 0.37 Fair 527
總結(jié)
以上是生活随笔為你收集整理的python中显示第三行数据_Python从零开始第三章数据处理与分析①python中的dplyr(1)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 瑞典针对特斯拉罢工升级:码头工人拒卸车、
- 下一篇: 微软媒体创建工具正式支持 Win11 2