当前位置: 首页 > 知识库问答 >
问题:

如何解决布尔序列ReIndex警告

曾嘉言
2023-03-14

我有一个数据框

   Unnamed: 0                       game score home_odds draw_odds away_odds country                 league             datetime
0           0  Sport Recife - Imperatriz   2:2      1.36      4.31      7.66  Brazil  Copa do Nordeste 2020  2020-02-07 00:00:00
1           1           ABC - America RN   2:1      2.62      3.30      2.48  Brazil  Copa do Nordeste 2020  2020-02-02 22:00:00
2           2  Frei Paulistano - Nautico   0:2      5.19      3.58      1.62  Brazil  Copa do Nordeste 2020  2020-02-02 00:00:00
3           3    Botafogo PB - Confianca   1:1      2.06      3.16       3.5  Brazil  Copa do Nordeste 2020  2020-02-02 22:00:00
4           4          Fortaleza - Ceara   1:1      2.19      2.98      3.38  Brazil  Copa do Nordeste 2020  2020-02-02 22:00:00

我正在执行以下功能

df['game'] = df['game'].astype(str).str.replace('(\(\w+\))', '', regex=True)
df['league'] = df['league'].astype(str).str.replace('(\s\d+\S\d+)$', '', regex=True)
df['game'] = df['game'].astype(str).str.replace('(\s\d+\S\d+)$', '', regex=True)
df[['home_team', 'away_team']] = df['game'].str.split(' - ', expand=True, n=1)
df[['home_score', 'away_score']] = df['score'].str.split(':', expand=True)
df['away_score'] = df['away_score'].astype(str).str.replace('[a-zA-Z\s\D]', '', regex=True)
df['home_score'] = df['home_score'].astype(str).str.replace('[a-zA-Z\s\D]', '', regex=True)
df = df[df.home_score != "."]
df = df[df.home_score != ".."]
df = df[df.home_score != "."]
df = df[df.home_odds != "-"]
df = df[df.draw_odds != "-"]
df = df[df.away_odds != "-"]
m = df[['home_odds', 'draw_odds', 'away_odds']].astype(str).agg(lambda x: x.str.count('/'), 1).ne(0).all(1)
n = df[['home_score']].agg(lambda x: x.str.count('-'), 1).ne(0).all(1)
o = df[['away_score']].agg(lambda x: x.str.count('-'), 1).ne(0).all(1)
df = df[~m]
df = df[~n]
df = df[~o]
df = df[df.home_score != '']
df = df[df.away_score != '']
df = df.dropna()

但是,当我这样做时,我收到警告:

UserWarning: Boolean Series key will be reindexed to match DataFrame index.
  df = df[~n]
UserWarning: Boolean Series key will be reindexed to match DataFrame index.
  df = df[~o]

我如何解决这个问题?

Lorem ipsum dolor sit amet,consecetur adipiscing elit,sed do eiusmod temor附带ut labore et dolore magna aliqua。Ut enim ad minim veniam,quis nostrud练习ullamco labis nisi ut aliquip ex ea commodo后果。

共有1个答案

程正阳
2023-03-14

我认为你可以尝试改变:

n = df[['home_score']].agg(lambda x: x.str.count('-'), 1).ne(0).all(1)
o = df[['away_score']].agg(lambda x: x.str.count('-'), 1).ne(0).all(1)

收件人:

n = df['home_score'].str.count('-').ne(0)
o = df['away_score'].str.count('-').ne(0)

应该是这样的:

n = ~df['home_score'].str.contains('-')
o = ~df['away_score'].str.contains('-')

也应该有所改变:

df = df[df.home_score != "."]
df = df[df.home_score != ".."]
df = df[df.home_score != "."]
df = df[df.home_odds != "-"]
df = df[df.draw_odds != "-"]
df = df[df.away_odds != "-"]

收件人:

df = df[~df.home_score.isin([".",".."]) | 
         df[['home_odds','draw_odds','away_odds']].ne("-").any(axis=1)]
 类似资料:
  • 问题内容: 我如何聚合这样的一些元组 与OR函数并返回下表? 问题答案: 只需执行一次,使用即可返回T(如果有),否则返回F。

  • 我有一个这样的财产: 我需要在其他类中解析时将其作为字符串 但这里是布尔值。 我想我需要做这样的事情。 还有一个像这样的班级 但找不到合适的例子。 这也是

  • 问题内容: 快速提问: 在JSONNet中-如何获取布尔true / false以序列化为布尔1/0 我可以看到我们如何处理空值,而所有这些似乎都找不到如何执行此操作。 这可能吗? 问题答案: 您可以像这样实现自定义转换器:

  • 问题内容: DeprecationWarning:需要一个整数(got类型为float)。不建议使用隐式转换为整数,并且在将来的Python版本中可能会删除隐式转换。 DeprecationWarning:需要一个整数(got类型为float)。不建议使用隐式转换为整数,并且在将来的Python版本中可能会删除隐式转换。 问题答案: 警告与的坐标参数有关。浮点坐标将表示的原点位于窗口像素之间。那没

  • 使用google wire,代码总是有告警信息,但是编译运行正常,如何去掉告警信息? 代码如下: 如图,代码中 package 有告警,告警信息内容: This file is within module ".", which is not included in your workspace. To fix this problem, you can add a go.work file tha

  • 如何将布尔列表传入和意图,以及如何在另一侧检索它? 那么如何将布尔列表传递给意图以及如何检索它呢?