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

如何在Python中筛选数据并创建柱状图?以及如何绘制仅展示screen_size大于6英寸数据的柱状图?

嘿,我来帮你搞定这两个Python数据可视化的问题!咱们用最常用的pandas(数据处理)和matplotlib(绘图)库来实现,这俩搭配起来处理这类需求超顺手~

一、基础版:数据筛选+柱状图绘制

咱们先从最基础的流程入手,步骤大概是:导入库 → 准备/加载数据 → 筛选目标数据 → 绘制柱状图。

举个实际的例子,假设咱们有一份手机产品的数据,包含品牌、屏幕尺寸、销量这些字段:

# 1. 导入需要的库
import pandas as pd
import matplotlib.pyplot as plt

# 2. 准备示例数据(你也可以用pd.read_csv加载本地/线上数据)
data = {
    'brand': ['Apple', 'Samsung', 'Xiaomi', 'Huawei', 'OPPO'],
    'screen_size': [6.1, 6.7, 6.6, 6.5, 6.4],
    'sales': [2500, 3200, 2800, 2100, 1900]
}
df = pd.DataFrame(data)

# 3. 进行数据筛选(比如筛选销量大于2000的记录)
filtered_df = df[df['sales'] > 2000]

# 4. 绘制柱状图
plt.figure(figsize=(10, 6))  # 设置图的大小
plt.bar(filtered_df['brand'], filtered_df['sales'], color='#4CAF50')  # 画柱状图,指定颜色
plt.title('Sales of Phones with Sales > 2000', fontsize=14)  # 标题
plt.xlabel('Brand', fontsize=12)  # X轴标签
plt.ylabel('Sales (in thousands)', fontsize=12)  # Y轴标签
plt.xticks(rotation=45)  # X轴标签旋转,避免重叠
plt.tight_layout()  # 自动调整布局,防止标签被截断
plt.show()

简单解释下:这里用df[条件]的方式快速筛选数据,再通过plt.bar()绘制柱状图,你可以根据需求自定义颜色、标题、标签样式,让图表更贴合你的使用场景。

二、进阶版:仅展示screen_size大于6英寸的柱状图

这个需求就是把筛选条件换成screen_size > 6,咱们直接基于上面的示例数据修改就行:

# 1. 筛选screen_size大于6英寸的数据
filtered_screen_df = df[df['screen_size'] > 6]

# 2. 绘制柱状图(这里咱们把Y轴设为屏幕尺寸,也可以换成销量等其他指标)
plt.figure(figsize=(10, 6))
plt.bar(filtered_screen_df['brand'], filtered_screen_df['screen_size'], color='#2196F3')
plt.title('Screen Sizes > 6 Inches by Brand', fontsize=14)
plt.xlabel('Brand', fontsize=12)
plt.ylabel('Screen Size (inches)', fontsize=12)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

如果你的需求是基于筛选后的屏幕尺寸数据展示其他指标(比如对应品牌的销量),只需要把plt.bar()里的第二个参数换成对应的列即可,比如filtered_screen_df['sales']。

额外提个小技巧:如果你的原始数据里有缺失值,建议先用df.dropna(subset=['screen_size'])把缺失屏幕尺寸的行删掉,避免筛选出异常结果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 14:34:09