gpt4 book ai didi

Python - 当行索引和列都是类别时数据帧值的散点图

转载 作者:行者123 更新时间:2023-12-04 07:56:40 25 4
gpt4 key购买 nike

我有一个数据框,其中列和行都可以被视为类别。我想在散点图上绘制每一行中的值,y 轴上的行类别和不同颜色点的列类别,x 轴作为值的比例。
首选 plotly - plotly 或 seaborn
模拟数据

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randint(0, 100, size=(5, 4)),
columns=list('ABCD'), index=list('PQRST'))
df
# A B C D
# P 21 95 91 90
# Q 21 12 9 68
# R 24 68 10 82
# S 81 14 80 39
# T 53 17 19 77

# plot
df.plot(marker='o', linestyle='')
所需图(类似于下图,但 x 轴和 y 轴已切换)
enter image description here

最佳答案

在我看来,您构建 DataFrame 的方式——使索引成为分类 y 值并使每一列成为颜色——将使您为了绘图而访问数据变得非常不方便。
相反,我认为您可以通过为值设置一列,为类别设置一列 P, Q, R, S, T 来让您的生活更轻松。 ,以及类别的最后一列 A, B, C, D这将对应于不同颜色的点。
对于数据可视化,我会推荐 Plotly express,因为我认为文档非常好,而且图是交互式的。例如,有关于 setting colors using column names 的文档,这是我在下面的代码中完成的(这也是我建议以不同方式构建 DataFrame 的原因之一)。

import numpy as np
import pandas as pd
import plotly.express as px

np.random.seed(42)

df = pd.DataFrame({
'value':np.random.randint(0, 100, size=20),
'category':['P','Q','R','S','T']*4,
'color':['A','B','C','D']*5
})
df = df.sort_values(by='category')

fig = px.scatter(df, x='value', y='category', color='color')

## make the marker size larger than the default
fig.update_traces(marker=dict(size=14))
fig.show()
enter image description here

关于Python - 当行索引和列都是类别时数据帧值的散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66666797/

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