python - 将 Pandas 数据框中的字符串转换为列表的最佳方法是什么?

标签 python string pandas list

基本上我有一个数据框,其中包含已作为字符串读入的列表,我想将它们转换回列表。

下面显示了我目前正在做的事情,但我仍在学习并且觉得必须有更好(更高效/Pythonic)的方法来解决这个问题。任何帮助/建设性批评将不胜感激!

import pandas as pd
import ast

df = pd.DataFrame(data=['[-1,0]', '[1]', '[1,2]'], columns = ['example'])
type(df['example'][0])
>> str

n = df.shape[0]
temp = []
temp2 = []

for i in range(n):
    temp = (ast.literal_eval(df['example'][i]))
    temp2.append(temp)

df['new_col_lists'] = temp2
type(df['new_col_lists'][0])
>> list

最佳答案

也许你可以使用 map :

df['example'] = df['example'].map(ast.literal_eval)

对于 pandas,几乎总有办法避免 for 循环。

关于python - 将 Pandas 数据框中的字符串转换为列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018664/

相关文章:

python - PySpark 将空字符串转换为 null 并写入 Parquet

python - 我的计数器运行不正常

c - 将字符串写在字符串上但在字符串旁边的代码

java - 在 Java 中对单个字符串数组中的逗号分隔数字进行排序

python - 仅将日期时间列与 Pandas 中的时间进行比较

python - 按级别对列进行分组,按其他级别的 pandas 对其他列进行分组

python - 在每个页面上搜索输入。 Django

java - 如何在 Java 和 Python 之间创建 2 路通信

python - 从参数化 SQL 调用填充新的数据框列

python - 合并两个具有相同模式的 DataFrame