Pandas筛选类型函数的参数不是iterab

2024-06-26 14:23:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python和熊猫。在

在网球比赛的背景下,我想用以下方式过滤我的数据:

  • 确认赢家是某个玩家
  • 检查输家是否在指定范围内

我试着用下面的方法来做

filtered_data = df[(df.winner == player) & (df.losser in desirable_opponents)]

其中df是一个存储数据的DataFrame对象。在

我得到以下错误:

^{pr2}$

我理解这个错误。但我还没有想出解决办法。在

我怎么能这样过滤呢失败者根据许多值进行检查,而不是只检查一个东风优胜者==玩家?在


Tags: 数据方法dfdata错误方式玩家filtered
2条回答

您应该使用^{}

filtered_data = df[(df.winner == player) & (df.losser.isin(desirable_opponents))]

另请考虑类似SQL的query方法:

filtered_data = df.query("winner == @player and losser in @desirable_opponents")

其中player是标量变量,desirable_opponents是类似数组的变量(list,1D array,熊猫系列等等)

相关问题 更多 >