gpt4 book ai didi

python - 在python中将列的每个值从str转换为list

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

我有一个数据集,其中第三列值的类型为 str 就像这里

data.column_3[0]
>>>[['dog',1]]

type(data.column_3[0])
>>>str
我要转换 每列的值 进入名单。
我尝试使用 to_list() 但它将 str 插入到列表中,我得到
data[column_3].to_list() 
但这给 ['[','[','d','o','g','1',']',']']并将完整系列转换为列表
我要访问 list[0] = 'dog' and list[1] = 1使用示例编辑:
 {0: "[['dog', 1]]",
1: "[['cat', 1]]",
2: "[['t1', 1]]",
3: "[['t2', 1]]",
4: "[['t3', 1]]",
5: "[['t4', 1]]"}

最佳答案

样本数据:

import pandas as pd
df = pd.DataFrame({'col': pd.Series({0: "[['dog', 1]]", 1: "[['cat', 1]]", 2: "[['t1', 1]]", 3: "[['t2', 1]]", 4: "[['t3', 1]]", 5: "[['t4', 1]]"})})
如果您的列表实际上是 列表的字符串表示 您可以使用: ast.liter_eval将类型更改为真实列表:
import ast

df['col'] = df['col'].map(ast.literal_eval)
您可以通过 .str 访问它
df['col'].str[0]

Out[5]:
0 dog
1 cat
Name: col, dtype: object


df['col'].str[1]

Out[6]:
0 1
1 2
Name: col, dtype: int64

获取列表中每个索引的列表:
df['col'].str[0].tolist()
# Out[7]: ['dog', 'cat']

df['col'].str[1].tolist()
# Out[8]: [1, 2]

获取累积列表:
df['col'].cumsum().iloc[-1]
# Out[13]: ['dog', 1, 'cat', 2]

关于python - 在python中将列的每个值从str转换为list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68117353/

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