【发布时间】:2020-11-21 12:29:26
【问题描述】:
我有一个复杂的问题要解决。 我有一个像这样的数据框:
所需的输出是:
所以它基本上是在逻辑上分组,即)
对于第一行:它只有 a 和 a 因此只有 1 在 a 下,其余为 0
对于第二行:它是 a 和 b,因此是 1 和 1,其余是 0 等等
接下来基于新的df:
对于每一行,我必须过滤一个数据框(比如 df3),例如:
第一行:df3.loc[(df3['name']=='a')]['flag'].count()
第二行:df3.loc[(df3['name']=='a') & (df3['name']=='b')]['flag'].count()
第三行:df3.loc[(df3['name']=='a') & (df3['name']=='b') & & (df3['name']=='c ')]['flag'].count()
知道如何实现吗?
我正在尝试循环生成这些过滤器,然后应用于 df3 数据帧
【问题讨论】:
-
所以逻辑仅用于
a列中的第一行1,a列中的第一行b仅b列中的1,仅b列中的第一行c@987654334 @ 在c列中?所有其他行都是从1,1到1,1,1,1? -
没错。就像一个逻辑“和”条件
-
for each row, i have to filter a dataframe(say df3)?df3看起来怎么样? -
df3 是另一个 df,它有一列包含像 a,b,c,d 这样的数据,我将使用它来根据条件进行过滤
-
刚刚编辑了我的帖子并为 df3 添加了结构,我将使用 df3 来过滤基于使用 df1 动态生成的过滤器的记录