成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何查詢你的Pandas數(shù)據(jù)幀?

譯文
數(shù)據(jù)庫 后端
無論您從數(shù)據(jù)工程師/數(shù)據(jù)分析師轉(zhuǎn)型而來,還是想成為更高效的數(shù)據(jù)科學家,查詢數(shù)據(jù)幀都是返回所需特定行的一種很有用的方法。值得一提的是,pandas有一個特定的查詢函數(shù),名為query。

 [[416996]]

【51CTO.com快譯】引言

無論您從數(shù)據(jù)工程師/數(shù)據(jù)分析師轉(zhuǎn)型而來,還是想成為更高效的數(shù)據(jù)科學家,查詢數(shù)據(jù)幀都是返回所需特定行的一種很有用的方法。值得一提的是,pandas有一個特定的查詢函數(shù),名為query。不過,我將討論您可以模擬查詢、過濾和合并數(shù)據(jù)的其他方式。我們將介紹您對數(shù)據(jù)提出的常見場景或問題,將使用Python而不是SQL來完成。在下面,我將概述使用Python編程語言針對Pandas數(shù)據(jù)幀查詢行的幾個簡單方法。

多個條件

圖1. 示例數(shù)據(jù)

作為數(shù)據(jù)科學家或數(shù)據(jù)分析師,我們希望返回數(shù)據(jù)的特定行。其中一個場景是您希望在同一行代碼中運用多個條件。為了展示例子,我創(chuàng)建了名和姓的幾個虛假的示例數(shù)據(jù),以及他們各自的性別和生日。該數(shù)據(jù)顯示在上面的屏幕截圖中。

示例多個條件本質(zhì)上將回答一個特定的問題,就像您使用SQL時一樣。問題是,我們的數(shù)據(jù)中有多少比例的數(shù)據(jù)是男性或出生于2010年至2021年之間的人。

下面是將解決這個問題的代碼(有幾種方法可以回答這個問題,但這是我的具體方法):

  1. print(“Percent of data who are Males OR were born between 2010 and 2021:”, 
  2.  100*round(df[(df[‘Gender’] == ‘M’) | (df[‘Birthdate’] >= ‘2010–01–01’) &  
  3.  (df[‘Birthdate’] <= ‘2021–01–01’)][‘Gender’].count()/df.shape 
  4.  [0],4), “%”) 

為了更好地直觀顯示該代碼,我還包含了上面相同代碼的屏幕截圖以及輸出/結(jié)果。您還可以運用這些條件來返回實際行,而不是從總行中獲取一小部分或百分比的行。

圖2. 條件代碼

這是我們執(zhí)行的命令的順序:

  • 返回帶有男性性別的行
  • 包括OR函數(shù) |
  • 返回出生日期> 2010和2021的行
  • 將所有這些組合起來,然后除以總行數(shù)

如您所見,該代碼與您在SQL中看到的相似。我個人認為在pandas中更容易,因為它可以減少代碼,同時還可以在一個簡單的地方直觀地看到所有代碼,無需上下滾動(但這種格式只是本人青睞的)。

按多個特定列合并

圖3. 合并數(shù)據(jù)幀結(jié)果

我們可能已經(jīng)在其他教程中看到了如何將數(shù)據(jù)幀合并在一起,所以我想添加一種我還沒有真正見過的一種獨特方法,即按多個特定列合并。在這種情況下,我們想要加入兩個數(shù)據(jù)幀,其中兩個字段在它們之間共享。不難看出:如果有更多列,這種方法可能更有用。

我們有第一個數(shù)據(jù)幀df,然后我們按第二個數(shù)據(jù)幀df2合并列。這是實現(xiàn)我們預期結(jié)果的代碼:

  1. merged_df = df.merge(df2, how=’inner’,  
  2.  left_on=cols,  
  3.  right_on=cols 
  4.  ) 

為了更好地直觀顯示這種合并和代碼,我給出了下面的屏幕截圖。您會在下面看到第二個數(shù)據(jù)幀的樣子,包括名和姓,就像它們在第一個數(shù)據(jù)幀中一樣,但有一個新的列:Numeric。然后,我們有想要合并的特定列,同時返回列Gender、Birthdate和新的Numeric列。列其實是諸多列的列表,名為 cols。

圖4. 合并數(shù)據(jù)幀

如您所見,這種合并數(shù)據(jù)幀的方式是一種獲得可從SQL查詢獲得的同樣結(jié)果的簡單方法。

結(jié)語

在本教程中,我們看到您將在SQL中執(zhí)行的兩個常見問題或查詢,但最終使用Python中的Pandas數(shù)據(jù)幀來執(zhí)行它們。

總而言之,以下是我們所處理的兩個場景:

  • 從多個條件返回總數(shù)據(jù)集的百分比的行
  • 按多個特定列合并,以返回帶有新列的最終數(shù)據(jù)幀。

原文標題:How to Query Your Pandas Dataframe,作者:Matthew Przybyla

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關(guān)推薦

2023-05-30 08:00:00

PandasQuestDBPython

2019-10-17 09:57:08

Python設(shè)計電腦

2019-08-27 17:32:10

數(shù)據(jù)處理PandasPython

2020-11-19 15:26:36

SQLPandas代碼

2020-06-24 11:59:31

PythonPandas數(shù)據(jù)處理

2023-08-30 09:16:38

PandasPython

2023-10-18 18:31:04

SQL查詢數(shù)據(jù)

2023-04-20 16:48:22

PandasPolarsPython

2024-05-20 09:31:53

PandasPython大數(shù)據(jù)集

2020-06-02 14:08:55

Python的數(shù)據(jù)操作

2024-10-28 12:57:36

Pandas數(shù)據(jù)清洗

2024-11-26 08:00:00

SQLPandasPandaSQL

2023-11-27 13:58:00

數(shù)據(jù)預處理數(shù)據(jù)標準化

2022-08-26 09:38:39

Pandas數(shù)據(jù)查詢

2021-10-12 05:00:27

PandasSQL查詢

2017-09-01 09:52:20

PythonPandas數(shù)據(jù)分析

2020-08-17 14:56:02

PythonSQL

2010-09-06 09:31:12

PPP數(shù)據(jù)幀

2021-04-09 23:00:12

SQL數(shù)據(jù)庫Pandas

2020-08-16 10:58:20

Pandaspython開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 九九热这里 | 亚洲精品1区2区3区 91免费看片 | 国产精品乱码一区二区三区 | 久久婷婷国产麻豆91 | 日本不卡一区二区三区在线观看 | 日日操夜夜操天天操 | 国产一级视频在线 | 黄色在线免费观看视频网站 | 视频一区在线观看 | 91免费观看视频 | 国产高清视频一区二区 | 女生羞羞网站 | 亚洲成人午夜在线 | 亚洲国产精品久久久久久 | 欧美久操网| 亚洲一区综合 | 免费在线h视频 | 国产精品美女久久久久久免费 | 久久久国产精品一区 | 成人av久久| 国产99久久精品 | 精品一级 | 久久久久久久国产精品影院 | 亚洲九九 | 国产视频精品在线 | 国产精品成人av | 91社区视频 | 欧美一级大黄 | 精品久久久久久久久久 | 天天综合国产 | 一区二区三区免费在线观看 | 99久久婷婷国产综合精品电影 | 精品免费 | 久久精品小视频 | av网址在线播放 | 在线午夜 | 日日碰狠狠躁久久躁婷婷 | 一区二区三区亚洲 | 日本一区二区影视 | 亚洲协和影视 | 国户精品久久久久久久久久久不卡 |