在python中保存带有列表列的数据框
Posted
技术标签:
【中文标题】在python中保存带有列表列的数据框【英文标题】:Saving a data frame with a column of list in python 【发布时间】:2016-10-24 00:56:14 【问题描述】:我在下面有一个数据框:
PT CA DE AP
0 1 2 [3,4,5,6]
1 4 6 [7,8,9]
当我保存此数据框并再次读取时,“AP”列存储为字符串:
PT CA DE AP
0 1 2 '(3,4,5,6)'
1 4 6 '(7,8,9)'
当我尝试通过以下命令将其更改为整数时,出现错误:
df.AP = df.apply(lambda r: [int(r.AP[j]) for j in range(len(r.AP))], axis = 1)
错误:
("invalid literal for int() with base 10: '('", 'occurred at index 0')
您能告诉我如何解决这个问题吗?
【问题讨论】:
你能把你保存的文本文件也粘贴到这里吗?您的文件中似乎有括号。 我编辑了我的问题。 【参考方案1】:您的 AP 列是在字符串中引用的元组,因此无法直接转换为列表。试试这个:
ap = r.AP.replace('(', '').replace(')', '').split(',')
df.AP = df.apply(lambda r: [int(ap[j]) for j in range(len(ap)], axis = 1)
【讨论】:
以上是关于在python中保存带有列表列的数据框的主要内容,如果未能解决你的问题,请参考以下文章