避免将列表作为字符串存储在熊猫中

时间:2019-07-17 14:36:04

标签: python pandas csv sklearn-pandas

我有一个熊猫数据框,其中包含具有列表的列

df = pd.DataFrame({'ID': ['ID1', 'ID2'], 
                    'colA': [['AB', 'CD'], ['AB']]})
df

    ID  colA
0   ID1 [AB, CD]
1   ID2 [AB]

当我将其保存在数据框中时,它将具有多个值的列表转换为字符串,并保留带有引号的单个值

ID, colA
ID1, "['AB', 'CD']"
ID2,['AB']

第二行未存储为字符串,因为它在列表中仅包含单个值。

当我再次读取此csv时,我遇到了问题,因为它随后将数据转换为此:

    ID  colA
0   ID1 ['AB', 'CD']
1   ID2 ['AB']

如何避免这种情况?我想以此读取数据

    ID  colA
0   ID1 [AB, CD]
1   ID2 [AB]

1 个答案:

答案 0 :(得分:1)

to_json

df.to_json('my.json')
pd.read_json('my.json')

    ID      colA
0  ID1  [AB, CD]
1  ID2      [AB]