Pandas.DataFrame.query()函數(shù)
2023年第2篇文章。
Pandas.DataFrame.query()函數(shù)根據(jù)邏輯表達(dá)式(單個(gè)或者組合式)選擇行以返回一個(gè)新的數(shù)據(jù)框,通過(guò)設(shè)置參數(shù)inplace=True,可以在原有數(shù)據(jù)框完成更新。
Pandas.DataFrame.query()函數(shù)的語(yǔ)法形式。
DataFrame.query(expr, inplace=False, **kwargs)1)expr:邏輯表達(dá)式
2)inplace:默認(rèn)值是False,不更新原有數(shù)據(jù)框,若是要更新,設(shè)置為True
3)**kwargs:使用eval()的關(guān)鍵字參數(shù)
舉例說(shuō)明:
第一步:創(chuàng)建數(shù)據(jù)框
technologies = {'Courses': ["Spark", "PySpark", "Hadoop", "Python", "Pandas"],'Courses Fee': [22000, 25000, 23000, 24000, 26000],'Duration': ['30days', '50days', '30days', None, np.nan],'Discount': [1000, 2300, 1000, 1200, 2500]}df = pd.DataFrame(technologies)print(df)
輸出結(jié)果:

第二步:使用query函數(shù),選擇目標(biāo)行
# 1)選擇Python課程df2 = df.query("Courses == 'Python'")print(df2)# 2) 使用變量操作value = "Python"df3 = df.query("Courses == @value")print(df3)# 3)多條件操作df4 = df.query("Courses in ('Spark','PySpark')")print(df4)df5 = df.query("`Courses Fee` >= 23000 and `Courses Fee` <= 24000")print(df5)
輸出結(jié)果:

我最近喜歡使用VSCode閱讀和編寫Python代碼,被它的簡(jiǎn)潔性、靈活性、便利性、延展性深深吸引了。
我在文章《VSCode,一款好用的編程開發(fā)工具,提升Python開發(fā)效率》,介紹我是如何使用VSCode。我會(huì)繼續(xù)給大家分享VSCode和Python的有趣故事。
我是誰(shuí)?
我叫王路情,是一名數(shù)據(jù)科學(xué)家,同時(shí),也是一名講師。
我通過(guò)公眾號(hào)、知乎等網(wǎng)絡(luò)媒體,向大眾傳播和分享Python語(yǔ)言和數(shù)據(jù)科學(xué)的知識(shí)。到目前為止,受眾已經(jīng)超過(guò)5萬(wàn)人。
我認(rèn)為“數(shù)據(jù)創(chuàng)造價(jià)值”應(yīng)該是數(shù)據(jù)科學(xué)家的首要任務(wù)。我通過(guò)各種途徑向世人傳播數(shù)據(jù)科學(xué)知識(shí),就是希望幫助更多客戶用好數(shù)據(jù)。
請(qǐng)多多關(guān)照。
我的Python語(yǔ)言社群?
我創(chuàng)建了多個(gè)Python語(yǔ)言社群,聚焦于Python語(yǔ)言和數(shù)據(jù)科學(xué)的討論、交流和分享。
這些R語(yǔ)言社群受眾2000+人,來(lái)自各行各業(yè),大家都在使用Python語(yǔ)言解決問(wèn)題。
歡迎大家加入我的Python語(yǔ)言社群,我的微信shushengya360,加我時(shí),請(qǐng)備注:姓名-入群。
