Pandas 列 tolist() 而每行数据都是字符串列表?

Pandas column tolist() while each row data being list of strings?

我正在尝试保存和读取具有以下格式的数据框

index    sentence
 0       ['aa', 'bb', 'cc']
 1       ['dd', 'ee', 'ff']

当我读取保存的 csv 文件并使用 tolist() 将 'sentence' 列变成列表时, 创建的列表对待

"['aa', 'bb', 'cc']" 作为字符串(包括方括号和 ')

有没有办法将该列读取为字符串列表的列表? [['aa', 'bb', 'cc'], ['dd', 'ee', 'ff']] ...

还是先保存句子栏时推荐的格式?

你的问题出在保存方式上。 CSV 本身不能存储列表,除非您在阅读后专门对其进行解析。

是否可以通过另一种格式保存来节省时间和精力? JSON 原生支持列表,也是一种易于人类阅读的格式。

这是为您准备的必选片段:

import pandas as pd
df = pd.DataFrame([{"sentence":['aa', 'bb', 'cc']},{"sentence":['dd', 'ee', 'ff']}])

df.to_json("myfile.json")
df2 = pd.read_json("myfile.json")

给出以下结果:

>>> df2
       sentence
0  [aa, bb, cc]
1  [dd, ee, ff]