在pandas中将列表字符串转换为列表

时间:2018-04-18 16:47:55

标签: python pandas

我有一个pandas列,其值是单词列表。但是整个列表是数据类型字符串。

例如,此列的一个单元格值为

 a=   ['expert executive', 'internal committee period', 'report name', 'entry']

type(a)
Out[23]:
str

但是这是存储为字符串。

现在问题是我想要将此值作为列表访问,因为我想使用将该列表与另一个列表一起扩展的列表操作。但是,由于当前它被键入为字符串,因此列表操作不会对此起作用。

任何想法如何以列表而不是字符串的形式访问此值。我尝试做列表(a),它会将它全部分解为单个字符,因为整个a是一个字符串。

2 个答案:

答案 0 :(得分:0)

使用 ast模块

<强>实施例

import ast
import pandas as pd
l =   "['expert executive', 'internal committee period', 'report name', 'entry']"
df = pd.DataFrame({"a": [l]})
print(type(df["a"][0]))
df["a"]  = df["a"].apply(ast.literal_eval)
print(type(df["a"][0]))

<强>输出:

<type 'str'>
<type 'list'>

答案 1 :(得分:0)

    a=   ['expert executive', 'internal committee period', 'report name', 'entry']
    c=list(a)
    type(c)

出[1]:         列表

    c[1]

out [2]:专家执行官

  

更新你的python,你甚至不需要转换c = list(a)。因为你的代码

    a=   ['expert executive', 'internal committee period', 'report name', 'entry']
  

正在为我做清单,很好