gpt4 book ai didi

python - 列表到 df.to-csv() 中的字符串

转载 作者:行者123 更新时间:2023-11-28 16:46:47 26 4
gpt4 key购买 nike

我有一个数据框,其中包含一个包含列表的列。当我将数据帧写入文件然后重新打开它时,我最终将列表转换为字符串。有没有一种方法可以安全地读取/写入具有列表作为成员的数据帧?

df1 = DataFrame({'a':[['john quincy', 'tom jones', 'jerry rice'],['bob smith','sally ride','little wayne'],['seven','eight','nine'],['ten','eleven','twelve']],'b':[9,2,4,5], 'c': [7,3,0,9]})

df1.to_csv('temp.csv')
df2 = read_csv('temp.csv')

#note how the list (df1) has been converted to a string (df2)
df1['a'][0]
['john quincy', 'tom jones', 'jerry rice']

df2['a'][0]
"['john quincy', 'tom jones', 'jerry rice']"

最佳答案

无需首先将列表转换为字符串,列表会自动转换为字符串。只需编写包含列表的数据框,并在 df2

上使用 ast.literal_eval
                                             a  b  c
0 ['john quincy', 'tom jones', 'jerry rice'] 9 7
1 ['bob smith', 'sally ride', 'little wayne'] 2 3
2 ['seven', 'eight', 'nine'] 4 0
3 ['ten', 'eleven', 'twelve'] 5 9

df1.to_csv('temp.csv')
df2 = read_csv('temp.csv')

使用ast.literal_eval 将字符串返回列表:

import ast
fd2['a']=df2['a'].apply(lambda x: ast.literal_eval(x))
type(df2['a'][1])

输出:

list

关于python - 列表到 df.to-csv() 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184553/

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