日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何查詢(xún)你的Pandas數(shù)據(jù)幀?

引言

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

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、滄州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為滄州等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

多個(gè)條件

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

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

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

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

 
 
 
 
  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é)果。您還可以運(yùn)用這些條件來(lái)返回實(shí)際行,而不是從總行中獲取一小部分或百分比的行。

圖2. 條件代碼

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

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

如您所見(jiàn),該代碼與您在SQL中看到的相似。我個(gè)人認(rèn)為在pandas中更容易,因?yàn)樗梢詼p少代碼,同時(shí)還可以在一個(gè)簡(jiǎn)單的地方直觀地看到所有代碼,無(wú)需上下滾動(dòng)(但這種格式只是本人青睞的)。

按多個(gè)特定列合并

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

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

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

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

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

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

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

結(jié)語(yǔ)

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

總而言之,以下是我們所處理的兩個(gè)場(chǎng)景:

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

分享題目:如何查詢(xún)你的Pandas數(shù)據(jù)幀?
網(wǎng)站路徑:http://www.5511xx.com/article/dpoooeh.html