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

如何从DataFrame多列y值生成单个直方图?

合并多列y值生成单个直方图的实现方法

要把DataFrame中所有y开头的列合并成一组数据绘制单个直方图,核心是先将多列y值扁平化为一维数组,再用matplotlib绘制。以下是具体实现步骤:

方法一:使用values.flatten()扁平化数据

import pandas as pd
import matplotlib.pyplot as plt

# 提取所有以y开头的列(自动匹配y0到y14)
y_data = megDiff.filter(like='y')

# 将多列数据转为一维数组
all_y_values = y_data.values.flatten()

# 绘制直方图
plt.hist(all_y_values, bins=100, label="All Y Data Sets")
plt.xlabel("Y Value")
plt.ylabel("Frequency")
plt.title("Combined Histogram of All Y Series")
plt.legend()
plt.show()

方法二:使用stack()处理数据(适合保留索引场景)

如果需要临时保留原数据的索引关联信息,也可以用stack()方法:

all_y_values = y_data.stack().values
# 后续绘图代码和上述一致

处理缺失值(可选)

如果数据中存在缺失值,需要先过滤掉避免绘图报错:

all_y_values = y_data.stack().dropna().values

关键说明:

  • filter(like='y')会自动筛选所有列名包含"y"的列,不用手动逐个列出y0到y14,扩展性更强;
  • 扁平化后的一维数组可直接传入plt.hist(),生成包含所有y列数据的单个直方图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:18:21