日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Pandas条件筛选 | Python技能树征题

發布時間:2024/4/11 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pandas条件筛选 | Python技能树征题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相關知識

篩選是數據處理中非常頻繁使用的功能,而Pandas對表格型數據(Pandas.DataFrame)已經封裝了非常完善的條件篩選功能,他們支持下面五種比較運算符和兩種邏輯運算符。

運算符含義
>大于
<小于
==等于
>=大于等于
<=小于等于
&
|

多個比較運算符構成的條件語句之間可以用邏輯運算符進行組合,不過每個條件語句需要用圓括號括起來。

條件篩選語句選針對每一列進行,因此格式為df['列名'] 條件運算符 條件值,如df['A'] > 10。該條件可以直接傳給dataframe用于行選擇,因此形式為df[條件語句],如df[df['A'] > 10]即可挑選出所有第A列大于10的行。上述用法等價于df.loc[條件語句], 不過,loc方法可以進一步挑選輸出列,如df.loc[df['A'] > 10, ['A', 'B']]即表示挑選出所有第A列大于10 的行且只輸出A和B兩列的結果。

題目

給定下面的一個表格型數據的定義,試分別完成下面三道題。

名字性別語文成績數學成績英語成績
張三619059
趙四919293
王五554540
李六906059
劉七909090
林八505050
莫九454580
  • 將所有性別為女的記錄挑選出來
  • 將所有語文和數學成績及格且性別為男的記錄挑選出來
  • 將所有語文成績大于等于90分或者數學成績大于90分的記錄挑選出來且只保留姓名、性別和英語成績

思路及答案

三道題的答案都可以通過上面的條件篩選的知識點來實現,具體代碼如下。

import pandas as pdcolumns = ['name', '性別', '語文', '數學', '英語'] data = [['張三', '男', 61, 90, 59],['趙四', '女', 91, 92, 93],['王五', '男', 55, 45, 40],['李六', '女', 90, 60, 59],['劉七', '男', 90, 90, 90],['林八', '女', 50, 50, 50],['莫九', '男', 45, 45, 80] ]df = pd.DataFrame(data, columns=columns)# 第一題,我們直接條件篩選 rst1 = df[df['性別'] == '女'] print(rst1)# 第二題,多調節級聯 rst2 = df[(df['語文'] > 60) & (df['數學'] > 60) & (df['性別'] == '男')] print(rst2)# 第三題,條件篩選并輸出特定列 rst3 = df.loc[(df['語文'] >= 90) | (df['數學'] > 90), ['name', '性別', '英語']] print(rst3)

運行結果如下。

name 性別 語文 數學 英語 1 趙四 女 91 92 93 3 李六 女 90 60 59 5 林八 女 50 50 50name 性別 語文 數學 英語 0 張三 男 61 90 59 4 劉七 男 90 90 90name 性別 英語 1 趙四 女 93 3 李六 女 59 4 劉七 男 90Process finished with exit code 0

總結

以上是生活随笔為你收集整理的Pandas条件筛选 | Python技能树征题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。