gpt4 book ai didi

python - 将一维列表转换为二维数据帧

转载 作者:行者123 更新时间:2023-12-04 07:24:56 25 4
gpt4 key购买 nike

我抓取了一个网页表格,表格项目在一个连续的一维列表中,带有重复的标题。我想将表重组为 DataFrame。
我有一个算法可以做到这一点,但我想知道是否有更pythonic/有效的方法来实现这一点?注意。我不一定知道我的表中有多少列。下面是一个例子:

input = ['A',1,'B',5,'C',9,
'A',2,'B',6,'C',10,
'A',3,'B',7,'C',11,
'A',4,'B',8,'C',12]

output = {}

it = iter(input)
val = next(it)

while val:
if val in output:
output[val].append(next(it))
else:
output[val] = [next(it)]

val = next(it,None)

df = pd.DataFrame(output)

print(df)
结果:
   A  B   C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12

最佳答案

如果您的数据总是“表现良好”,那么这样的事情就足够了:

import pandas as pd

data = ['A',1,'B',5,'C',9,
'A',2,'B',6,'C',10,
'A',3,'B',7,'C',11,
'A',4,'B',8,'C',12]

result = {}

for k,v in zip(data[::2], data[1::2]):
result.setdefault(k, []).append(v)

df = pd.DataFrame(output)

关于python - 将一维列表转换为二维数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68269544/

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