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

如何从CSV的列中筛选少量数据绘制折线图?

问题原因

你执行pivot操作后,原始数据里的state列已经被转换为透视表的列索引,此时透视表不存在名为state的普通列,因此df['state'].isin(['al','ar','fl','wa'])的筛选逻辑完全不生效,导致绘图结果不符合预期。

解决方案

有两种常用实现方式,按需选择即可:

方案1:透视前先筛选(更推荐)

先从原始数据中过滤出你需要的州,再执行透视操作,性能更高且逻辑更清晰:

target_states = ['al','ar','fl','wa']
# 先筛选目标州数据
df_filtered = df[df['state'].isin(target_states)]
# 再做透视
df_pivot = df_filtered.pivot(index='year', columns='state', values='fatal')
# 直接绘图即可,只会显示指定州的折线
df_pivot.plot()

方案2:透视后直接筛选列

如果你已经完成了全量数据的透视,不需要重新跑透视逻辑,直接提取目标州对应的列即可:

# 先完成全量透视
df_pivot = df.pivot(index='year', columns='state', values='fatal')
target_states = ['al','ar','fl','wa']
# 提取目标州对应的列
df_pivot_filtered = df_pivot[target_states]
# 绘图
df_pivot_filtered.plot()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 09:15:00