【问题标题】:Problems with drop based on conditions in Pandas基于 Pandas 条件的丢弃问题
【发布时间】:2018-07-24 03:47:21
【问题描述】:

我有这个代码:

Different_year = df[df['Start_year'] != (df['End_year'])]

我只想从我的主数据框中删除该条件 像这样:

df.drop(['Different_year'])

令人惊讶的是它可以工作,但数据框仍然具有相同的形状

【问题讨论】:

  • df[df['Start_year'] == df['End_year']] ?
  • “我想从数据框中删除条件”是什么意思?请提供一些具有所需输出的最小示例数据。
  • @Georgy,似乎用户正在做的事情不止一件事。所以不幸的是不完全重复。
  • @Georgy,同意,我将投票关闭,但我的答案将留给用户查看。

标签: python pandas


【解决方案1】:

以下解决方案应该有效。请注意方法 1 的以下内容:

  • 我们正在将所选行的索引输入drop
  • 我们分配回df,因此实际上修改了数据帧。
  • axis=0 表示索引级别的下降。更多信息在df.drop documentation

方法一

different_year = df[df['Start_year'] != (df['End_year'])].index

df = df.drop(different_year, axis=0)

方法二

df = df[~(df['Start_year'] != (df['End_year']))]

【讨论】:

    【解决方案2】:

    除非您指定,否则drop 方法不起作用。

    df.drop(different_year, inplace=True)

    或分配它

    df = df.drop(different_year)

    确保您的变量 different_year 是索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-27
      • 2015-08-09
      • 2019-02-05
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 2019-04-10
      相关资源
      最近更新 更多