首页 > 解决方案 > 在 Python 中绘制来自两个不同数据帧的相同变量的图形

问题描述

我有两个具有相同列名但值不同的数据框。考虑形状为 (5, 2) 的 df1 和形状为 (4,2) 的 df2。我想在同一张图中绘制来自 df1 和 df2 的变量“F1_S”与“ID”的关系图。请注意,x 轴上的变量“ID”是分类的。我使用以下内容绘制了其中一个数据框。

names=list(df1['ID'])
values = list(df1['F1_S'])
fig, axs = plt.subplots(figsize=(20,20), sharey=True)
axs.scatter(names,values)

当我向其中添加另一个数据框时,dfs 的形状会导致错误。

请注意,并非 df1 中的所有“ID”值都会在 df2 中具有相应的“F1_S”值,反之亦然。

编辑:
考虑两个数据框 df1 和 df2。

df1=pd.DataFrame({ 'ID': ['A1','A2','A6','A7','A9'], 'F1_S': [23,75,42,77,56] },  columns=['ID', 'F1_S'])
df2=pd.DataFrame({ 'ID': ['A3','A4','A5','A8'], 'F1_S': [66,43,56,86] },  columns=['ID', 'F1_S'])

标签: pythonmatplotlibjupyter-notebook

解决方案


import pandas as pd
import matplotlib.pyplot as plt

# TEST

df1=pd.DataFrame({ 'ID': ['A1','A2','A6','A7','A9'], 'F1_S': [23,75,42,77,56] },
                 columns=['ID', 'F1_S'])
df2=pd.DataFrame({ 'ID': ['A3','A4','A5','A8'], 'F1_S': [66,43,56,86] },
                 columns=['ID', 'F1_S'])

fig, axs = plt.subplots(figsize=(20,20), sharey=True)
plt.title('Testplot')
axs.scatter(df1['ID'],df1['F1_S'])
axs.scatter(df2['ID'],df2['F1_S'])

我将两个熊猫数据框都添加到了散点图中,这并没有引发形状错误。 测试图链接请点击这里

这对你有帮助吗?如果没有,请发布您的完整代码和错误消息。祝你今天过得愉快 :)


推荐阅读