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

如何使用pandas正确创建DataFrame并统计年龄≥50的记录数

问题根因

你当前的写法直接把整段未解析的键值对字符串传入DataFrame构造器,最终只会生成1行1列的单值表格,单元格内存储完整的原始字符串,自然无法直接提取age字段做统计。你需要先把拼接格式的字符串解析成结构化的记录列表,再创建DataFrame。

实现方案

按如下流程处理即可:

  • 先把原始字符串按逗号分割,得到所有独立的key=xxx、age=xxx片段
  • 按顺序成对提取每个key对应的age值,组装成{"key": xxx, "age": xxx}格式的字典列表,这是Pandas可直接识别的结构化输入格式
  • 基于解析后的记录创建DataFrame,将age字段转为整数类型后做条件统计

完整可运行代码如下:

import pandas as pd

# 原始数据集
raw = {"data": "key=IAfpK, age=58, key=WNVdi, age=64, key=jp9zt, age=47, key=0Sr4C, age=68, key=CGEqo, age=76, key=IxKVQ, age=79, key=eD221, age=29, key=XZbHV, age=32, key=k1SN5, age=88"}

# 解析字符串为结构化记录
fragments = [seg.strip() for seg in raw["data"].split(",")]
records = []
for idx in range(0, len(fragments), 2):
    current_key = fragments[idx].split("=")[1]
    current_age = int(fragments[idx+1].split("=")[1])
    records.append({"key": current_key, "age": current_age})

# 生成结构正确的DataFrame
df = pd.DataFrame(records)

# 统计age >= 50的记录总数
result = df[df["age"] >= 50].shape[0]
print(f"age >= 50的记录总数:{result}")

运行后你会得到包含key、age两列的标准DataFrame,上述示例数据的统计结果为6。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:06:32