【发布时间】:2020-05-24 23:18:37
【问题描述】:
我正在尝试将两个简单且汇总的 pandas 数据框与 Seaborn 库中的线图进行比较,但其中一条线在 X 轴上移动了一个单位。它出什么问题了? 数据框是:
这是我的代码:
df = pd.read_csv('/home/gazelle/Documents/m3inference/m3_result.csv',index_col='id')
df = df.drop("Unnamed: 0",axis=1)
for i, v in df.iterrows():
if str(i) not in result:
df.drop(i, inplace=True)
else:
df.loc[i, 'estimated'] = result[str(i)]
m3 = pd.read_csv('plot_result.csv').set_index('id')
ids = list(m3.index.values)
m3 = m3['age'].value_counts().to_frame().reset_index().sort_values('index')
m3 = m3.rename(columns={m3.columns[0]:'bucket', m3.columns[1]:'age'})
df_estimated = df[df.index.isin(ids)]['estimated'].value_counts().to_frame().reset_index().sort_values('index')
df_estimated = df_estimated.rename(columns={df_estimated.columns[0]:'bucket', df_estimated.columns[1]:'age'})
sns.lineplot(x='bucket', y='age', data=m3)
sns.lineplot(x='bucket', y='age', data=df_estimated)
结果是:
【问题讨论】:
-
你能分享剩下的代码吗?只是一种预感,但我感觉
index列的[0]th 值是2,因此图表看起来向右移动了一个单位。我对我的假设很有信心,所以如果是这样的话,我可以分享一个答案。 -
假设数据帧是您显示的数据帧,代码会生成正确的图像。也就是说,代码没问题,问题可能出在数据上。
-
@warped 我从我的数据框中截取了屏幕截图。
-
@Jarmos 我提出了所有要求。
-
我从数据框中复制了数据,并用您的代码绘制了它们,并得到了正确的图。所以,问题不在于您发布的代码。
标签: python pandas dataframe seaborn