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

Python入门求助:按燃料类型统计CSV中车辆数量并绘柱状图

燃料类型车辆统计与柱状图绘制解决方案

一、数据汇总(解决子数据集返回布尔值&求和问题)

你之前得到TRUE是因为仅写了判断条件(比如df['Fuel type'] == 'Gasoline'),这会返回布尔索引列,需要用它筛选行后再求和。推荐两种方法:

1. 高效分组汇总(优先使用)

用pandas的groupby一键完成筛选+求和,无需手动处理每个燃料类型:

import pandas as pd

# 读取数据集(替换为你的文件路径,Excel文件用pd.read_excel)
df = pd.read_csv('加州车辆数据集.csv')

# 指定需要统计的燃料类型
target_fuels = ['Gasoline', 'Diesel and Diesel Hybrid', 'Hybrid Gasoline']

# 筛选目标数据后分组求和
fuel_total = df[df['Fuel type'].isin(target_fuels)].groupby('Fuel type')['Vehicles'].sum().reset_index()
print(fuel_total)

2. 手动筛选求和(适合新手理解逻辑)

先通过布尔索引筛选对应燃料的行,再对Vehicles列求和:

import pandas as pd

df = pd.read_csv('加州车辆数据集.csv')

# 筛选每种燃料的行并求和
gasoline_num = df[df['Fuel type'] == 'Gasoline']['Vehicles'].sum()
diesel_hybrid_num = df[df['Fuel type'] == 'Diesel and Diesel Hybrid']['Vehicles'].sum()
hybrid_gas_num = df[df['Fuel type'] == 'Hybrid Gasoline']['Vehicles'].sum()

# 整理成DataFrame方便后续画图
fuel_total = pd.DataFrame({
    'Fuel type': ['Gasoline', 'Diesel and Diesel Hybrid', 'Hybrid Gasoline'],
    'Vehicles': [gasoline_num, diesel_hybrid_num, hybrid_gas_num]
})

二、绘制柱状图

以下是两种常用绘图库的实现示例:

1. Matplotlib基础版

import matplotlib.pyplot as plt

plt.bar(fuel_total['Fuel type'], fuel_total['Vehicles'])
plt.title('加州不同燃料类型车辆总数')
plt.xlabel('燃料类型')
plt.ylabel('车辆总数')
plt.xticks(rotation=45)  # 旋转x轴标签避免重叠
plt.tight_layout()  # 自动调整布局防止标签被截断
plt.show()

2. Seaborn美观版

import seaborn as sns
import matplotlib.pyplot as plt

sns.barplot(x='Fuel type', y='Vehicles', data=fuel_total)
plt.title('加州不同燃料类型车辆总数')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:20:28