Pandas Python将列表拆分为给定长度的子列表

Pandas Python将列表拆分为给定长度的子列表,pandas,nested-lists,Pandas,Nested Lists,我目前正试图将数据从一列数据框提取到8个列表中,每个列表包含12个浮点值,以便生成热图(12 x 8矩阵中有96个数据点) 我在列表中列出了我的元素(从csv文件中提取,此处提供以显示其外观): 为什么我得到的是空列表而不是包含12个浮点值的8个列表。。。?如何将数据转换为生成热图所需的格式?这是一个用数据绘制热图的简单解决方案。无需在循环中拆分阵列 import pandas as pd import seaborn as sns list_for_plotting_routine = [[

我目前正试图将数据从一列数据框提取到8个列表中,每个列表包含12个浮点值,以便生成热图(12 x 8矩阵中有96个数据点)

我在列表中列出了我的元素(从csv文件中提取,此处提供以显示其外观):


为什么我得到的是空列表而不是包含12个浮点值的8个列表。。。?如何将数据转换为生成热图所需的格式?

这是一个用数据绘制热图的简单解决方案。无需在循环中拆分阵列

import pandas as pd
import seaborn as sns

list_for_plotting_routine = [[0.0, -0.006, 0.01, -0.004, 0.0, -0.002, -0.002, 0.017, 0.0, 0.017, 0.003, -0.001, -0.003, -0.005, 0.012, 0.031, -0.004, -0.004, -0.004, 0.004, 0.002, 0.003, 0.004, 0.001, -0.003, 0.009000000000000001, -0.006, 0.011000000000000001, 0.011000000000000001, 0.032, 0.013999999999999999, 0.069, 0.004, 0.011000000000000001, 0.01, 0.012, -0.004, -0.006, -0.006999999999999999, 0.004, 0.01, 0.011000000000000001, 0.016, 0.043, 0.023, 0.016, 0.025, 0.011000000000000001, 0.003, -0.004, -0.003, 0.005, 0.017, 0.017, 0.011000000000000001, 0.052000000000000005, 0.033, 0.017, 0.01, 0.012, -0.008, -0.005, -0.006999999999999999, -0.005, -0.006, 0.0, 0.006999999999999999, 0.006999999999999999, 0.001, -0.005, 0.017, 0.009000000000000001, 0.005, 0.001, -0.001, 0.003, -0.002, 0.024, 0.02, 0.017, 0.011000000000000001, 0.01, 0.005, -0.006, 0.01, 0.013999999999999999, 0.01, 0.013999999999999999, 0.005, 0.008, 0.002, 0.006999999999999999, 0.002, -0.002, 0.024, 0.006]]

# Flatten list of lists
list_for_plotting_routine = [item for sublist in list_for_plotting_routine for item in sublist]

# Split list into seperate lists for every 12th element
list_of_lists = [list_for_plotting_routine[x:x+12] for x in range(0, len(list_for_plotting_routine), 12)]

# Create a df out of list of lists (this step is optional you can just pass in the list of lists instead to sns.heatmap()

df = pd.DataFrame(list_of_lists)

# create heatmap
ax = sns.heatmap(df)
df = data['Abs 590 nm'].values.reshape(8,12)
ax = sns.heatmap(df)

这是一个用数据绘制热图的简单解决方案。无需在循环中拆分阵列

df = data['Abs 590 nm'].values.reshape(8,12)
ax = sns.heatmap(df)

您是在问问题还是在提出解决方案?两者都有。这应该是一个简单的解决方案,但我不知道是否有特殊要求。不过,你不应该在回答中提出问题。访问和,了解有关堆栈溢出的答案是如何工作的。如果您不确定要求是什么,您应该对问题进行评论并要求澄清。您好@Mikksu,这确实非常简单,而且它似乎非常适合我现在需要的东西-谢谢:-)我可以补充一点,它也可以使用px.imshow与ployly express heatmap一起工作。您是在问问题还是提出解决方案?两者都可以。这应该是一个简单的解决方案,但我不知道是否有特殊要求。不过,你不应该在回答中提出问题。访问和,了解有关堆栈溢出的答案是如何工作的。如果您不确定要求是什么,您应该对问题进行评论并要求澄清。您好@Mikksu这确实很简单,而且它似乎非常适合我在这一点上的需要-谢谢:-)我可以补充一点,它可以与使用px.imshow的ployly express热图一起工作。谢谢您的帮助@Bradon,非常感谢!感谢您的帮助@Bradon,非常感谢!