【问题标题】:Pandas - Filter data frame with another data framePandas - 用另一个数据框过滤数据框
【发布时间】:2018-04-12 19:41:02
【问题描述】:

我有两个像这样长度相同的数据框

df1: 
   density
1  1,45
2  3,87
3  4,35
4  2,87
5  0.74
6  9.34
7  3.087
8  0.28
9  6,47
10 5,59

第二个数据框是这样的

df2:
  State
1  1
2  1
3  1
4  1
5  1
6  1
7  0
8  0
9  0
10 0

我想要一个看起来像这样的输出,这意味着过滤 df1 以便只保留 df2 等于 1 的值:

output: 
   density
1  1,45
2  3,87
3  4,35
4  2,87
5  0.74
6  9.34

我该怎么做? 你能帮我吗。

【问题讨论】:

  • df1[df2.eq(1).values] ?

标签: python pandas dataframe filter


【解决方案1】:

让我们使用布尔索引:

df1[df2.eq(1).values]

输出:

  density
1    1,45
2    3,87
3    4,35
4    2,87
5    0.74
6    9.34

【讨论】:

  • @piRSquared 仍然很困惑,哪个是我的答案,哪个是 Scott 的
【解决方案2】:

这应该可以工作

df1[df2.State.astype(bool)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2021-10-31
    • 2016-01-21
    • 2018-03-08
    • 2023-03-12
    • 2017-11-18
    • 1970-01-01
    相关资源
    最近更新 更多