gpt4 book ai didi

python - 来自多个数据框列的分类数据的散点图

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:21 25 4
gpt4 key购买 nike

我有一个像这样的 DataFrame df:

   name         Int1        Int2         Int3
0 foob -2.534519e-05 -1.156744e-04 -1.410195e-04
1 arz 2.907239e-04 3.502863e-04 6.410102e-04
2 foo2 -2.140769e-04 4.214626e-04 2.073857e-04
3 bar 3.366116e-03 -6.125303e-04 2.753586e-03
4 rnd -5.014413e-05 -6.740579e-06 -5.688471e-05
5 baz 3.334906e-04 -7.846232e-05 2.550283e-04
6 rnd2 -6.111069e-04 2.194443e-03 1.583336e-03
7 tet 3.184057e-04 2.208398e-04 5.392455e-04

df 应绘制为散点图,描述每个名称的三个数据点(Int1、Int2、Int3)。

目前,我正在使用 seabornstripplot 函数,如果我为每一列分配一个图(例如 x=name, y=Int1),它就可以正常工作到图形的同一轴:

fig, ax = plt.subplots()
seaborn.stripplot(df.name, df.Int1, ax=ax, c='red')
seaborn.stripplot(df.name, df.Int2, ax=ax, c='blue')

但是,我想以更好的方式绘制它,主要原因是拥有适当的图例和更好的定制。该解决方案也可以基于 pandas

最佳答案

这是我的解决方案。其实很简单:

df_melt=pd.melt(df,id_vars=['name'], var_name='intensities', value_name='values')
sns.stripplot(x="name", y="values", data=df_melt, hue='intensities')

这需要原始的 df并在 pandas 的帮助下 melt函数,生成一个包含单个 intensities 的新 df Int1 各占一行, Int2 , 和 Int3每个名称的值。第二行使用seabornstripplot绘制df_melt由相应的列着色 Int1 , Int2 , 和 Int3

关于python - 来自多个数据框列的分类数据的散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41424711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com