如何使用 python 在一个条形图上绘制来自两个数据集的天气数据?

How do I plot weather data from two data sets on one bar graph using python?

Python 这里是新手。我正在查看一年中几个城市的一些每日天气数据。 Each city has its own csv file。我有兴趣在条形图中比较两个城市之间的日平均气温计数,因此我可以看到(例如)与凤凰城相比,西雅图的平均气温多长时间为 75 度(或 30 或 100)。

我想要一个带有并排条的条形图,x 轴为温度,y 轴为计数。我已经能够使用这些数据分别获得每个城市的条形图,但不知道如何将两个城市放在同一个条形图上,每个城市使用不同的颜色。看起来应该很简单,但我搜索了几个小时还没有得到一个好的答案。

请建议,聪明的 Whosebug 导师?

这是我目前得到的:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.read_csv("KSEA.csv")
df2 = pd.read_csv("KPHX.csv")

df["actual_mean_temp"].value_counts(sort=False).plot(kind ="bar")
df2["actual_mean_temp"].value_counts(sort = False).plot(kind = 'bar')

您可以 concat DataFrames,assign将城市作为列,然后在 seaborn:

中使用 histplot
import seaborn as sns

z = pd.concat([
    df[['actual_mean_temp']].assign(city='KSEA'),
    df2[['actual_mean_temp']].assign(city='KPHX'),
])

ax = sns.histplot(data=z, x='actual_mean_temp', hue='city',
                  multiple='dodge', binwidth=1)

输出: