解析pandas列中的列表

2024-09-27 00:19:33 发布

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

我试图找出如何解析包含列表的pandas列:我的问题是这些列被识别为字符串,而我希望它们被视为列表,并对它们进行迭代。在

这是我的单元格示例:[('P105', 1), ('P31', 1), ('P225', 1), ('P70', 1)]

当我试图遍历它时,我只能逐个获取字符串中包含的字符(即[,(,',p等)。 我怎样才能让熊猫“明白”这些都是单子?在

编辑:我找到了一种方法:我对每一行应用ast.literal_eval。在

示例:

line = month_statement['properties_claims'][12]
for i in line:
    print i

[
(
'
P
7
6
'
...

如果我使用ast.literal_eval,则:

^{pr2}$

我现在怀疑的是,这种方法处理数百万行的效率如何。在


Tags: 方法字符串示例pandas列表evallineast
2条回答

我个人会把它分成更多的列,然后在它们上面迭代:

   df['col'].apply(lambda x : pd.Series(x.split(',')))

或者

^{pr2}$

很老的问题,但我想这应该行得通:

import ast

df['col'].apply(lambda x : ast.literal_eval(x))

如果文件太大,请将数据读入块,例如pd.read_csv(...,cunksize=50000)

相关问题 更多 >

    热门问题