系統(tǒng):Windows 7
語言版本:Anaconda3-4.3.0.1-Windows-x86_64
編輯器:pycharm-community-2016.3.2
pandas:0.19.2
- 這個(gè)系列講講Python的科學(xué)計(jì)算版塊
- 今天講講pandas模塊:根據(jù)條件對(duì)Df進(jìn)行篩選
Part 1:示例
- 已知
df_1
,有3列["value1", "value2", "value3"]
, - 不同篩選條件下塑娇,獲取新的df
- 篩選條件1:
value2
列大于0.6妻率,且驹止,value3
列小于5,獲得df_2 - 篩選條件2:
value2
列大于0.6,或,value3
列小于5谷饿,獲得df_3 - 篩選條件3:
value2
列大于0.6,且妈倔,value1
列取值P1或者 P2博投,獲得df_4 - 篩選條件4:
value2
列大于0.6,或盯蝴,value1
列取值P1或者 P2毅哗,獲得df_5
- 篩選條件1:
df_1
1.png
df_2
df_2.png
df_3
df_3.png
df_4
df_4.png
df_5
df_5.png
Part 2:代碼
import pandas as pd
dict_1 = {"value1": ["P1", "P2", "P3"],
"value2": [0.5, 0.8, 1.0],
"value3": [1, 5, 3]}
df_1 = pd.DataFrame(dict_1, columns=["value1", "value2", "value3"])
print(df_1)
print("\n兩個(gè)條件同時(shí)滿足")
df_2 = df_1[(df_1["value2"] > 0.6) & (df_1["value3"] < 5)]
print(df_2)
print("\n滿足任一條件")
df_3 = df_1[(df_1["value2"] > 0.6) | (df_1["value3"] < 5)]
print(df_3)
print("\n兩個(gè)條件同時(shí)滿足")
list_1 = ["P1", "P2"]
df_4 = df_1[(df_1["value2"] > 0.6) & (df_1["value1"].isin(list_1))]
print(df_4)
print("\n滿足任一條件")
list_1 = ["P1", "P2"]
df_5 = df_1[(df_1["value2"] > 0.6) | (df_1["value1"].isin(list_1))]
print(df_5)
代碼截圖
2.png
Part 3:部分代碼解讀
-
df_2 = df_1[(df_1["value2"] > 0.6) & (df_1["value3"] < 5)]
,兩個(gè)條件分別放置于()
內(nèi)捧挺,即df[(條件1) & (條件2)]
- 邏輯與虑绵,使用 &
- 邏輯或,使用 |
- 比較運(yùn)算符直接使用
>
,<
- 在一定范圍內(nèi)使用
isin
闽烙,之前的文章有介紹過
本文為原創(chuàng)作品翅睛,歡迎分享朋友圈
長(zhǎng)按圖片識(shí)別二維碼,關(guān)注本公眾號(hào)
Python 優(yōu)雅 帥氣
12x0.8.jpg