系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
Part 1:示例
df_1,有3列["value1", "value2", "value3"],value2列大于0.6,且,value3列小于5,获得df_2value2列大于0.6,或,value3列小于5,获得df_3value2列大于0.6,且,value1列取值P1或者 P2,获得df_4value2列大于0.6,或,value1列取值P1或者 P2,获得df_5df_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,之前的文章有介绍过