系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2
pandas:0.19.2
- 这个系列讲讲Python的科学计算版块
- 今天讲讲pandas模块:根据条件对Df进行筛选
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
df_2
df_3
df_4
df_5
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两个条件同时满足")
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两个条件同时满足")
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)
代码截图
Part 3:部分代码解读
-
df_2 = df_1[(df_1["value2"] > 0.6) & (df_1["value3"] < 5)]
,两个条件分别放置于()
内,即df[(条件1) & (条件2)]
- 逻辑与,使用 &
- 逻辑或,使用 |
- 比较运算符直接使用
>
,<
- 在一定范围内使用
isin
,之前的文章有介绍过
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg
网友评论