Pandas 如何从一个字典中生成一个数据框,其中每列都是一个值列表?
我有一个字典,其中每个键都是一个数字(索引),每个值都是一个单词(字符串)列表。我想创建一个包含两列的df,一列用于dictionary键的索引号,另一列用于单词列表(dictionary中的值)。现在我正在使用以下代码:Pandas 如何从一个字典中生成一个数据框,其中每列都是一个值列表?,pandas,list,dataframe,dictionary,Pandas,List,Dataframe,Dictionary,我有一个字典,其中每个键都是一个数字(索引),每个值都是一个单词(字符串)列表。我想创建一个包含两列的df,一列用于dictionary键的索引号,另一列用于单词列表(dictionary中的值)。现在我正在使用以下代码: pd.DataFrame.from_dict(tok_red_dict, orient ='index') 但这给了我一个数据框,其中一列用于索引,一列用于单词列表中的每个单词。如何使每一列都包含整个列表而不是一个单词?您想要这个吗 d = {'test_1': [1,2,
pd.DataFrame.from_dict(tok_red_dict, orient ='index')
但这给了我一个数据框,其中一列用于索引,一列用于单词列表中的每个单词。如何使每一列都包含整个列表而不是一个单词?您想要这个吗
d = {'test_1': [1,2,3],
'test_2': [5,6,7]}
df = pd.DataFrame([d]).T.reset_index()
#or
df = pd.Series(d).to_frame().reset_index()
输出:
index 0
0 test_1 [1, 2, 3]
1 test_2 [5, 6, 7]
我们可以使用pd.Series()
输入dict,然后从Pandas系列转换为数据帧,如下所示:
tok_red_dict = {101: ['cat', 'dog'], 120: ['pig', 'fox', 'wolf'], 231: ['elephant', 'eagle', 'fish', 'cow']}
df = (pd.Series(tok_red_dict)
.to_frame(name='word list')
.rename_axis(index='dict key')
).reset_index()
结果:
print(df)
dict key word list
0 101 [cat, dog]
1 120 [pig, fox, wolf]
2 231 [elephant, eagle, fish, cow]
请提供a,以及当前和预期输出。