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]
我正在尝试保存和读取具有以下格式的数据框
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]