【发布时间】:2023-01-26 04:43:24
【问题描述】:
我想要如下图所示的图,其中蓝线是通过绘制具有相同 x 坐标值的数据点的所有 y 坐标值的平均值生成的平均线。
我试过下面的代码
window_size = 10
df_avg = pd.DataFrame(columns=df.columns)
for col in df.columns:
df_avg[col] = df[col].rolling(window=window_size).mean()
plt.figure(figsize=(20,20))
for idx, col in enumerate(df.columns, 1):
plt.subplot(df.shape[1]-4, 4, idx)
sns.scatterplot(data=df, x=col, y='charges')
plt.plot(df_avg[col],df['charges'])
plt.xlabel(col)
【问题讨论】:
-
您的第一个问题是定义“具有相同的 x 坐标”的含义,因为您正在处理浮点数,所以相等性不起作用,您必须使用公差来代替。
-
@Guimoute,这个特定问题中显示的数据看起来非常明确:年份、年龄、孩子数量、性别等。因此浮点数在这里不应该成为问题。
标签: python matplotlib seaborn data-science