首页 > 解决方案 > 将列表作为值的 Defaultdict 到 Dataframe 到 CSV

问题描述

我有一个带有不同数据类型值的 defaultdict

defaultdict(<class 'list'>, {'id': ['042'], 'success': [1, 1, 1]})

并希望将其保存到带有熊猫的文件中。

mwe代码是:

import pandas as pd
import collections
dd = collections.defaultdict(list)
dd['id'].append('42')
for x in range(3):
    dd['success'].append(1)
print(dd)
pd.DataFrame(dd).to_csv('test.csv')

我得到一个ValueError: arrays must all be same length. 如何将列表'success'写入一个 csv 单元格?

标签: pythonpandas

解决方案


国际大学联盟:

用于pandas.Series强制单维透视

d = defaultdict(list)
d['id'] = ['042']
d['success'] = [1, 1, 1]

pd.Series(d)

id             [042]
success    [1, 1, 1]
dtype: object

推荐阅读