You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于问卷回答DataFrame计算各问题的最小受访者年龄

统计各问卷问题对应的最小受访者年龄

原始数据

以下是包含问卷回答的DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    data=[
        [10, np.nan, 'Answer 1', 'Answer 2'],
        [40, "Answer 4", "Answer 3", 'Answer 2'],
        [20, "Answer 2", np.nan, 'Answer 1']
    ], 
    columns=['Age', 'Question 1', 'Question 2', 'Question 3']
)

该DataFrame的内容为:

Age Question 1  Question 2  Question 3
0   10  NaN         Answer 1    Answer 2
1   40  Answer 4    Answer 3    Answer 2
2   20  Answer 2    NaN         Answer 1

需求目标

生成一个新的DataFrame,记录每个问卷问题对应的受访者最小年龄。

实现代码(注:代码写法较为粗糙)

df2 = pd.DataFrame(data=df.columns.tolist(), columns=["Questions"])
for col in df2["Questions"]:
    if col != "Age":
        # 过滤掉当前问题无回答的行,再取最小年龄
        df2.loc[df2["Questions"] == col, "min_age"] = df.loc[:, ["Age", col]].dropna()["Age"].min()

最终生成的df2内容为:

Questions    min_age
0   Age         NaN
1   Question 1  20.0
2   Question 2  10.0
3   Question 3  10.0

内容的提问来源于stack exchange,提问作者gabboshow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:40:30