在pandas中将多个 Dataframe 的多个直方图合并为一个

ar7v8xwq  于 2023-05-21  发布在  其他
关注(0)|答案(2)|浏览(145)

我是python和pandas的初学者,我有三个CSV数据。我想用这三个dataframe做一个直方图。我用了这个密码

import pandas as pd
from matplotlib import pyplot as plt
X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")

X.hist(column='speed', weights=X.ID,figsize=(20,10), stacked=True, bins=50, color = 'Blue', )
Y.hist(column='speed', weights=Y.ID,figsize=(20,10), stacked=True, bins=50, color = 'Red')
Z.hist(column='speed', weights=Z.ID,figsize=(20,10), stacked=True, bins=50, color = 'Grey')
plt.rc('xtick',labelsize=25)
plt.rc('ytick',labelsize=25)

但我得到了三个不同的直方图如何将这三个直方图合并为一个直方图,每个直方图包含三种颜色?

2izufjch

2izufjch1#

我会选这个

import pandas as pd
import matplotlib.pyplot as plt

X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")

plt.hist([X.speed.values.flatten(), Y.speed.values.flatten(), Z.speed.values.flatten()], weights=[X.ID.values.flatten(), Y.ID.values.flatten(), Z.values.flatten()], label=['X', 'Y', 'Z'])
plt.legend()
plt.rc('xtick', labelsize=25)
plt.rc('ytick', labelsize=25)
yfjy0ee7

yfjy0ee72#

合并 Dataframe :

X = pd.read_csv("data1.csv")
Y = pd.read_csv("data2.csv")
Z = pd.read_csv("data3.csv")
df = X.merge(Y).merge(Z)

df.hist(...)

相关问题