gpt4 book ai didi

python - 使用 pandas.read_csv 将逗号分隔的字符串列表转换为数据框

转载 作者:行者123 更新时间:2023-11-28 22:25:38 25 4
gpt4 key购买 nike

如何使用 Pandas read_csv 将大列表快速转换为数据框?

import Pandas as pd

x = '1,2,3,4,5,7,8,9'
df = pd.read_csv(x)

我知道我可以用逗号拆分字符串 -> 放入列表 -> 转换为数据帧,但我想知道是否有一种方法可以使用 pd.read_csv 更快地完成此操作?

最佳答案

x = '1,2,3,4,5,7,8,9'
df = pd.read_csv(pd.io.common.StringIO(x), header=None)

df

0 1 2 3 4 5 7 8
0 1 2 3 4 5 7 8 9

是您可以使用 pd.read_csv 做的最好的事情


考虑更大的字符串

y = '\n'.join([','.join(['0,1,2,3,4,5,6,7,8,9'] * 100)] * 1000)

并比较这两个选项的时间

%timeit pd.DataFrame([l.split(',') for l in y.split('\n')]).astype(int)
%timeit pd.read_csv(pd.io.common.StringIO(y), header=None)

1 loop, best of 3: 200 ms per loop
10 loops, best of 3: 125 ms per loop

如果我们需要做的只是拆分字符串,split 会更快。然而,pd.read_csv 为我们做的一件事是解析整数。如果必须在拆分后执行此操作,那么额外的开销会变得昂贵。

关于python - 使用 pandas.read_csv 将逗号分隔的字符串列表转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45423096/

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