【问题标题】:Subsetting dataframe when comparing two columns with pandas将两列与熊猫进行比较时对数据框进行子集化
【发布时间】:2021-08-16 01:58:35
【问题描述】:

假设我有一个名为 df 的数据框:

    name        X         Y
0   John        1         1
1   Cindy       1         0
2   Ella        0         1
3   David       0         0

我想比较列 XY 以便当它们都为 1 时,将相应的行添加到名为 df2 的新数据框中。

df2 的期望输出是这样的:

    name        X         Y
0   John        1         1

另外,我也想做同样的事情

  • X 为 1,Y 为 0
  • X 为 0,Y 为 1
  • X 为 0,Y 为 0。

【问题讨论】:

  • 所以你想要 4 个不同的输出数据帧?
  • @joao 是的,确实。四种不同的数据框,涵盖上述 4 种场景中的每一种

标签: arrays pandas numpy slice


【解决方案1】:

试试这个:

dfs = [y for x,y in df.groupby(['X','Y'])]

df2 = dfs[0]
df3 = dfs[1]
df4 = dfs[2]
df5 = dfs[3]

【讨论】:

    【解决方案2】:

    试试:

    dfs = list(dict(list(df.groupby(['X','Y']))).values())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多