python—保存和加载 Dataframe 会将列表转换为字符串

z4iuyo4d  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(196)

my pandas dataframe有几列,其中两列是值列表:

df['array'][0]
>>> array([ 2.0118325e+00, -2.2446325e+00, -1.6791631e+00,  2.7758152e+00,
        1.3304883e-01, -6.4482675e+00, -2.0737982e+00,  2.0454627e-01]

df['names_array'][0]
>>> ['Verizon', '美国电话电报公司', 'Mobile', 'Sprint', '甲骨文公司', 'Novell', 'Wireless', '威讯', '苹果电脑', 'EE']

我正在用

df.to_csv('df.csv', encoding='utf-8', sep='\t', header=True)

然后装上

test = pd.read_csv('df.csv', sep='\t', error_bad_lines=False, header = 0, names=['name', 'freq', 'speech', 'array', 'names_array'])

我无法确定问题是否在于保存或加载 Dataframe ,但当我尝试加载 Dataframe 时,列表中的两列现在都是字符串:

test['names_array'][0]
>>> "['Verizon', '美国电话电报公司', 'Mobile', 'Sprint', '甲骨文公司', 'Novell', 'Wireless', '威讯', '苹果电脑', 'EE']"

test['array'][0]
>>> '[ 2.0118325e+00 -2.2446325e+00 -1.6791631e+00  2.7758152e+00\n  1.3304883e-01 -6.4482675e+00 -2.0737982e+00  2.0454627e-01\n -4.7595534e+00  9.9625808e-01 -3.8964446e+00 -5.5855694e+00\n

在这种情况下,保存和加载此数据的正确方法是什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题