调查 - DF1 - 问题在第 1 行,在 DF2 上所有问题都列在第一列 Python

Survey - DF1 - Questions are in Row1, In DF2 all questions are listed in the first column Python

如果你能帮我解决这个问题,

数据框 1

数据框 2

我想计算从 DF1 到 Df2 的 Yes 数量

像这样

 for x in DF2['Questions']:
    if x == first row of DF1 count 'Yes'

它遍历整行并且满足条件的地方,它计数是并在 Dataframe2['Yes']

中发布

我一直在尝试这样做,但 none 我所做的工作。如果你能帮助我或建议我应该看什么,请。

谢谢

df_ = df[['Q1', 'Q2']].eq('Yes').sum(axis=0).to_frame(name='Yes').rename_axis('Questions').reset_index()
print(df_)

  Questions  Yes
0        Q1    1
1        Q2    0

逐步说明:

首先,您可以使用 df[['Q1', 'Q2']].eq('Yes') 获取布尔数据框,该数据框指示值是否为 Yes

      Q1     Q2
0   True  False
1  False  False

然后你可以用 .sum(axis=0)

按行对这个布尔数据帧求和
Q1    1
Q2    0
dtype: int64

最后,您可以使用 .to_frame(name='Yes') 将系列重置为数据帧,使用 .rename_axis('Questions') 重命名索引并使用 .reset_index()

将其重置回列
  Questions  Yes
0        Q1    1
1        Q2    0