我正在编写一个函数,它应该为熊猫生成玩具数据(分组和多索引的示例)。我的目标是生成可能重复几次的组(例如,在实验中表示条件)。我的尝试:
import itertools as it
import numpy as np
import pandas as pd
p = it.product([[4,5,6],[7,8,9]],[1,2,3])
p = list(p)
p
[([4, 5, 6], 1),
([4, 5, 6], 2),
([4, 5, 6], 3),
([7, 8, 9], 1),
([7, 8, 9], 2),
([7, 8, 9], 3)]
我希望只展平内部列表,但保留外部列表的结构(并去掉元组)。我的解决方案基于this SO post:
^{pr2}$我有两个问题。首先,有没有更简单的解决方案?第二,当我想最终创建一个pandas数据帧时,是否需要完成所有这些操作?数据帧应该如下所示:
pd.DataFrame(np.reshape(it, (len(p), 4)))
0 1 2 3
0 4 5 6 1
1 4 5 6 2
2 4 5 6 3
3 7 8 9 1
4 7 8 9 2
5 7 8 9 3
选项1:
方案2:纯熊猫解决方案:
^{pr2}$相关问题 更多 >
编程相关推荐