You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Jupyter Notebook中通过IPython以HTML格式展示CSV数据框中各复杂度类别的计数

解决Jupyter Notebook中统计复杂度类别并以HTML展示的问题

我来帮你修正代码里的问题,你现在的问题出在错误地直接访问不存在的列,咱们调整一下就能正常统计并展示了:

问题分析

你原来的代码里尝试用df['Simple']去取值,但你的DataFrame只有Complexity这一列,正确的做法是对Complexity列整体做计数统计,再提取每个类别的数值。

修正后的完整代码

import pandas as pd
from IPython.display import HTML

# 读取CSV文件,仅加载Complexity列
df = pd.read_csv("name.csv", usecols=['Complexity'])

# 统计Complexity列中各类别的出现次数
complexity_stats = df['Complexity'].value_counts()

# 提取每个类别的计数,用get方法避免因类别缺失引发的KeyError
simple_count = complexity_stats.get('Simple', 0)
medium_count = complexity_stats.get('Medium', 0)
complex_count = complexity_stats.get('Complex', 0)

# 构建规范的HTML内容
html_code = """
<html>
<head>
    <meta charset="UTF-8">
    <title>Theme Complexity Statistics</title>
</head>
<body>
    <h2>Themes Complexity is as below</h2>
    <p>Simple Themes: <strong>{}</strong></p>
    <p>Medium Themes: <strong>{}</strong></p>
    <p>Complex Themes: <strong>{}</strong></p>
</body>
</html>
""".format(simple_count, medium_count, complex_count)

# 在Jupyter Notebook中渲染HTML
HTML(html_code)

关键改进点

  • df['Complexity'].value_counts()一次性完成所有类别的统计,比单独查询更高效简洁
  • 使用Series.get(key, default)方法处理数据中可能缺失的类别(比如如果没有Simple类型的数据,会返回0而不是报错)
  • 优化了HTML结构:添加编码声明、规范head/body分区,用<strong>标签强调计数数值,提升展示效果

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

火山引擎 最新活动