使用python中的列列保存数据框

时间:2016-10-24 00:56:14

标签: python list dataframe save

我有一个数据框如下:

   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 个答案:

答案 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)