gpt4 book ai didi

python - 将 pandas 数据帧转换为元组列表 - ('Row' 、 'Column' 、值)

转载 作者:行者123 更新时间:2023-12-01 01:53:22 25 4
gpt4 key购买 nike

还有一些关于同一主题的其他问题,但所需的格式完全不同。

我正在尝试使用 holoviews and bokeh 构建热图可视化

我的数据正在作为 Excel 文件读入数据框中,大致如下:

    Foo    Bar    Bash    Baz   ...
A 1 2 3 4
B 2 1 0 3
C 0 0 2 0
D 2 3 5 1
...

文档称热图的数据可以作为具有一个或多个关联值维度的 2D 表格数据提供。

绘制数据框本身不起作用,我觉得我需要将数据转换为如下形式:

[('A', 'Foo', 1), ('A', 'Bar', 2), ('A', 'Bash', 3), ('A', 'Baz', 4), ('B', 'Foo', 1)...]

有没有比手动迭代整个数据帧并手动构建它更快的方法?

最佳答案

您可以先通过stack reshape 形状然后转换为元组:

tups = [tuple(x) for x in df.stack().reset_index().values.tolist()]

另一个类似的解决方案是创建 3 个级别 MultiIndex:

tups = df.stack().to_frame().set_index(0, append=True).index.tolist()

或者zip 3个单独的数组,其中numpy.repeat , numpy.tileravel :

a = np.repeat(df.index, len(df.columns))
b = np.tile(df.columns, len(df))
c = df.values.ravel()

tups = list(zip(a,b,c))

关于python - 将 pandas 数据帧转换为元组列表 - ('Row' 、 'Column' 、值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505678/

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