gpt4 book ai didi

python - 为列表中的值组合创建 Pandas 数据框行的最快方法

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:32 25 4
gpt4 key购买 nike

假设我有三个列表

listA = ['a','b','c', 'd']
listP = ['p', 'q', 'r']
listX = ['x', 'z']

因此数据框将有 4*3*2 = 24 行。现在,解决此问题的最简单方法是:

df = pd.DataFrame(columns=['A','P','X'])

for val1 in listA:
for val2 in listP:
for val3 in listX:
df.loc[<indexvalue>] = [val1,val2,val3]

现在在真实场景中,我将有大约 80 万行和 12 列(因此循环中有 12 个嵌套)。有什么办法可以更快地创建这个数据框吗?

最佳答案

类似讨论here .显然 np.meshgrid 对于大数据更有效(作为 itertools.product 的替代品。

应用:

v = np.stack(i.ravel() for i in np.meshgrid(listA, listP, listX)).T
df = pd.DataFrame(v, columns=['A', 'P', 'X'])
>> A P X
0 a p x
1 a p z
2 b p x
3 b p z
4 c p x

关于python - 为列表中的值组合创建 Pandas 数据框行的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181648/

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