【问题标题】:How to create a column scatter plot with data from two different pandas dataframes如何使用来自两个不同熊猫数据框的数据创建列散点图
【发布时间】:2019-04-28 18:24:09
【问题描述】:

我有一个 1377 X 6 数据集,它有 18 个唯一 ID,每个 ID 都有一个名为 "foo" 的值。我将"foo" 列拆分为> 0.25< 0.25,产生了两个不同的数据框。

我想创建一个散点图,将大于和小于值并排绘制,看起来像:

如果两列来自不同的数据框,我将如何创建该图?

【问题讨论】:

  • 把一些在CC“栏”和“MI”栏里用到的点贴出来怎么样?这些显然是双变量的,更多信息可能会有所帮助。
  • 这张图是网上找的,和我的资料没有关系。以下是数据外观的概述:18 个唯一 ID,带有一个“foo”列,我试图在该列上绘制数据。这些 'foo' 应该在 Y 轴上。在 X 轴上,应该有两组:一组值 > 0.25(红色),一组值

标签: python pandas visualization scatter-plot


【解决方案1】:

我想我明白你想要什么。试试这样的:


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

df1 = pd.DataFrame({'red' : [], 'foo' : []})
df2 = pd.DataFrame({'blue' : [], 'foo' : []})

df1['red'] = np.random.random(30)*0.2
df1['foo'] = np.random.random(30)
df2['foo'] = np.random.random(15)
df2['red'] = np.random.random(15)*0.25 + 0.3


_, ax = plt.subplots()

plt.scatter(df1['red'], df1['foo'], color ='red', label = 'LT')
plt.scatter(df2['red'], df2['foo'], color ='blue', label = 'GT')
ax.set_xticks([np.mean(df1['red']), np.mean(df2['red'])])
ax.set_xticklabels(['LT', 'GT'])
plt.legend()
plt.show()

干杯。

【讨论】:

  • 我已经实现了这一点,而且我肯定越来越接近我正在寻找的答案。在我的代码中,我使用 X 的 ID 和 Y 轴的 foo 值,它返回:i68.tinypic.com/1490878.png 但是,我正在寻找的是将蓝点分组为一个“刻度” x 轴和红色指向 x 轴的另一个刻度,就像描述中的照片一样。任何线索如何到达那里?非常感谢您的帮助
  • 另外,快速提问,_, ax 分配在这里做什么?以后好像不用了?
  • 对不起,在这个旧版本的代码中,我使用的是 ax,但后来我意识到没有必要。我将使用新版本更新代码。我认为结果就是你想要的。
  • 如果您正在寻找它,请告诉我!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
  • 2021-12-28
相关资源
最近更新 更多