我有一个有3000个键的字典,每个键都有一个列表作为它的值,
示例:
dictionary = {'yup': ['chocolate', 'pizza', 'rainbows'], 'tape': ['what', 'milk'], ....}
我想把这个字典转换成一个数据库,但是因为我的值不相等,所以我不能使用pandas命令"pd.DataFrame(dictionary)
“。我收到错误消息“数组必须具有相同的长度”。
我的问题是,我如何仍然创建一个数据框(转置它),并在没有数据的地方拥有空单元格。
示例:
index column1 column2 column3
`'yup' 'chocolate' 'pizza' 'rainbows`'
'tape' 'what' 'milk' blank
发布于 2018-09-12 20:14:39
值使用values
,索引使用keys
df = pd.DataFrame(list(dictionary.values()), index=dictionary.keys())
0 1 2
yup chocolate pizza rainbows
tape what milk None
如果需要名为index
的列
df.reset_index()
index 0 1 2
0 yup chocolate pizza rainbows
1 tape what milk None
发布于 2018-09-12 20:08:48
将您的值转换为pd.Series
df = pd.DataFrame({k:pd.Series(v) for k,v in dictionary.items()}).T
0 1 2
tape what milk NaN
yup chocolate pizza rainbows
或者:
df = pd.DataFrame.from_dict({k:pd.Series(v) for k,v in dictionary.items()},orient='index')
0 1 2
tape what milk NaN
yup chocolate pizza rainbows
https://stackoverflow.com/questions/52302645
复制