列表中的多个交叉路口的熊猫

时间:2019-04-30 14:04:13

标签: python pandas

我有一个包含各种体育比赛的数据框。列包括c_away(远队代码),c_home(主队),y(年)和其他一些列。我正在尝试实施“过滤器”系统。例如,查找2018年TeamA在主场迎战TeamB的所有比赛。

我可以手动执行此操作,但是当我添加更多过滤器时,效果并不理想。

示例:

df[(df.c_home == t)|(df.c_away == t)] # any matches involving `t` team
df[(df.c_home == t)&(df.y == 2018)] # matches at home, in 2018

我的目标是添加到列表中

filters.append((df.c_home == t))
if year:
    filters.append((df.y == year))

然后在末尾&一起。

1 个答案:

答案 0 :(得分:0)

不确定这是否是唯一的方法,但是df.query似乎更有用,因为我可以连接字符串:

filters.append("col == 1")
filters.append("col2 > 3")
df.query(" and ".join(filters))