在python df或dict中将分隔的值读取为一个值



我有一个df,里面有不同颜色、不同尺寸的产品

artikelnummer   kleur   set maat
0   1   rood    avero   C75
1   1   rood    avero   D80
2   1   rood    avero   E85
3   1   rood    avero   F90
4   2   rood    avero   38
5   2   rood    avero   40
6   2   rood    avero   42
7   2   rood    avero   44
8   1   blauw   avero   C75
9   1   blauw   avero   D80
10  1   blauw   avero   E85
11  1   blauw   avero   F90
12  2   blauw   avero   38
13  2   blauw   avero   40
14  2   blauw   avero   42
15  2   blauw   avero   44

我想为artikelnummer/kleur/set的每个组合创建一行df,并在"maat"将这些组合的所有大小列出来。

我用

df_combimaten=df.groupby(['kleur', 'artikelnummer','set'])['maat'].apply(",".join).reindex()
df_combimaten

将大小分组

结果:

kleur  artikelnummer  set  
blauw  1              avero    C75,D80,E85,F90
2              avero     38, 40, 42, 44
rood   1              avero    C75,D80,E85,F90
2              avero     38, 40, 42, 44
Name: maat, dtype: object

如何从这个对象中创建一个正常的数据框架?

使用reset_index:

>>> new_df = df_combimaten.reset_index()
>>> print(new_df)
kleur  artikelnummer    set             maat
0  blauw              1  avero  C75,D80,E85,F90
1  blauw              2  avero      38,40,42,44
2   rood              1  avero  C75,D80,E85,F90
3   rood              2  avero      38,40,42,44

最新更新