在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中保存带有列表列的数据框的主要内容,如果未能解决你的问题,请参考以下文章

在列表框/python中保存颜色更改

从满足数据框 Python 条件的列表中索引并保存最后 N 个点

如何在python中将文本字符串列表转换为熊猫数据框?

如何在python中获取熊猫数据框的行列表? [复制]

Pyspark 无法保存包含大量列的数据框

使用 Tkinter 显示带有列的列表框?