从列表中创建pandas中排列的数据帧

2024-04-25 05:14:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我之前也问过类似的问题,但我正在寻找不同的输出。在

Create a dataframe of permutations in pandas from list

我的名单如下:

aa = ['aa1', 'aa2', 'aa3', 'aa4', 'aa5']
bb = ['bb1', 'bb2', 'bb3', 'bb4', 'bb5']
cc = ['cc1', 'cc2', 'cc3', 'cc4', 'cc5']

现在我想创建一个数据帧,如下所示:

^{pr2}$

我之前收到的建议是:

^{3}$

这给了我一个笛卡尔积。在

但这一次,这不是我想要的。 我希望输出与上面的示例输出完全相同。 -因此,列表中的每个元素在每一列中只出现一次,除了第一个元素,它被复制以填充整个列。在

谢谢你的帮助!在


Tags: ofinfrom元素dataframepandascreatelist
1条回答
网友
1楼 · 发布于 2024-04-25 05:14:26

首先构造重复部分:

index = pd.RangeIndex(len(aa) + len(bb) + len(cc))
df = pd.DataFrame({'aa':aa[0], 'bb':bb[0], 'cc':cc[0]}, index)

给你15份:

^{pr2}$

然后覆盖不同的部分:

df.aa[:len(aa)] = aa
df.bb[len(aa):len(aa)+len(bb)] = bb
df.cc[len(aa)+len(bb):] = cc

从而产生所需的输出。在

相关问题 更多 >