顺化两只熊猫系列

时间:2019-11-05 12:25:12

标签: python pandas dataframe seaborn

我有两个大熊猫系列,我想通过将它们相互重叠绘制在视觉上进行比较。我已经尝试过以下

>>> s1 = pd.Series([1,2,3,4,5])
>>> s2 = pd.Series([3,3,3,3,3])
>>> df = pd.concat([s1, s2], axis=1)
>>> sns.stripplot(data = df)

产生以下图片:

enter image description here

现在,我知道hue的{​​{1}}关键字,但是要尝试应用它,需要我使用关键字sns.stripplotx。我已经尝试过将数据转换成类似的数据框

y

所以我可以“翻身” >>> df = pd.concat([pd.DataFrame({'data':s1, 'type':'s1'}), pd.DataFrame({'data':s2, 'type':'s2'})]);但是即使那样,我仍然不知道关键字type的内容(假设x)。像这样忽略关键字y = 'data'

x

无法色调任何东西:
enter image description here

1 个答案:

答案 0 :(得分:1)

seaborn通常适用于长格式数据,因此您可能需要稍微重新排列数据框。 hue关键字需要一列,因此我们将使用.melt()来获得一列。

long_form = df.melt()
long_form['X'] = 1

sns.stripplot(data=long_form, x='X', y='value', hue='variable')

将为您提供一个大致反映您的需求的图:

Rearranged strip plot


当我们执行pd.melt时,我们将框架从具有多列值更改为只有一列值,并使用“变量”列来标识它们来自哪几列原始列。我们添加一个'X'列是因为stripplot同时需要xhue才能正常工作。然后,我们的long_form数据帧如下所示:

   variable  value  X
0         0      1  1
1         0      2  1
2         0      3  1
3         0      4  1
4         0      5  1
5         1      3  1
6         1      3  1
7         1      3  1
8         1      3  1
9         1      3  1