python中显示第三行数据_Python从零开始第三章数据处理与分析①python中的dplyr(1)...
前言
我經常使用R的dplyr軟件包進行探索性數據分析和數據處理。 dplyr除了提供一組可用于解決最常見數據操作問題的一致函數外,dplyr還允許用戶使用管道函數編寫優雅的可鏈接的數據操作代碼。
現在,Python是我的主要語言,pandas是我用于數據分析的助手,但我經常希望有一個Python包允許直接在pandas DataFrame上進行dplyr風格的數據操作。于是我找到了一個名為dfply的軟件包,由Kiefer Katovich開發。 與dplyr一樣,dfply也允許使用管道運算符鏈接多個操作。
這篇文章將重點介紹dfply包的核心功能,并展示如何使用它們來操作pandas DataFrames。
入門
我們需要做的第一件事是使用pip安裝軟件包。
pip install dfply
根據該項目的Github介紹,dfply僅適用于Python 3,因此請確保安裝了正確版本的Python。
使用用dfply管道函數
ddfply直接在pandas DataFrames上工作,使用>>運算符鏈接對數據的操作,或者以>> =從inplace操作開始。 在dfply中,操作鏈的每個步驟的DataFrame結果由X表示。例如,如果要在步驟中從DataFrame中選擇三列,請在下一步中刪除第三列,然后顯示最終數據的前三行,您可以執行以下操作:
# '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轉換函數,而X代表每個轉換步驟的結果。
使用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
使用的數據集是經典的diamond數據集,通過上面的代碼我們篩選了carat,cut和color三列然后刪除了cut列
還可以通過在要刪除的列的前面放置一個波浪號?來刪除select()方法中的列。
例如,要選擇diamonds中除cut以外的所有已經選擇列:
(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()過濾行
mask()允許您根據邏輯條件在pandas DataFrame中選擇行的子集。 mask()選擇條件為/的所有行。
例如,要選擇carat > 0.21以及cut==’Fair同時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()對行進行排序
arrange()允許您根據一列或多列來排序行; 默認行為是按升序對行進行排序。例如,要按carat,然后按price排序,我們會:
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
總結
以上是生活随笔為你收集整理的python中显示第三行数据_Python从零开始第三章数据处理与分析①python中的dplyr(1)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 瑞典针对特斯拉罢工升级:码头工人拒卸车、
- 下一篇: python实现字典树 时间复杂度_Py