我有一本这样的字典:
{1: ["a", "b", "c"],
2: ["d", "e", "f", "g"]}
,我想把它变成这样的数据帧:
<表类>id 项目 tbody><<tr>1 1b 1c 2d 2e 2f 2g 表类>
示例
data = {1: ["a", "b", "c"],
2: ["d", "e", "f", "g"]}
pd.Series(data).explode()
输出(系列):
1 a
1 b
1 c
2 d
2 e
2 f
2 g
dtype: object
如果你想要结果为dataframe,使用以下代码:
pd.Series(data).explode().reset_index().set_axis(['id', 'item'], axis=1)
输出(dataframe):
id item
0 1 a
1 1 b
2 1 c
3 2 d
4 2 e
5 2 f
6 2 g
pd.concat([pd.DataFrame(v,index=[i]*len(v),columns=['items']) for i,v in map1.items()])
.rename_axis('id').reset_index()
id items
0 1 a
1 1 b
2 1 c
3 2 d
4 2 e
5 2 f
6 2 g