以下是我要操作的数据框:
df = pd.DataFrame({'A': [1,1,1],
'B': [2,2,3],
'C': [4,5,4]})
df
的每一行都会创建一个唯一密钥。目的是创建以下多维数组列表:
parameter = [[['A', 1],['B', 2], ['C', 4]],
[['A', 1],['B', 2], ['C', 5]],
[['A', 1],['B', 3], ['C', 4]]]
问题与this question有关,在该问题上我必须遍历parameter
,但不是手动将它们提供给我的功能,而是必须将parameter
中的所有df
(行)在列表中。
答案 0 :(得分:1)
您可以使用以下列表推导,该列表推导将每一行的值与数据框的列压缩在一起:
from itertools import repeat
[list(map(list,zip(cols, i))) for cols, i in zip(df.values.tolist(), repeat(df.columns))]
[[[1, 'A'], [2, 'B'], [4, 'C']],
[[1, 'A'], [2, 'B'], [5, 'C']],
[[1, 'A'], [3, 'B'], [4, 'C']]]