如何将字典列表中的每个值附加到自己的列中?



这是我的字典,我想把列表中的每个值都放到它自己的列中。

my_dict  = {1: ['Home', 'Stories'], 2: ['Sounds', 'Stories', 'Home', 'Home', 'Stories'], 3: ['Journeys', 'Journeys', 'Journeys '], 4: [ 'Home', 'Home', 'Home'], 5: ['Home', 'Stories', 'Home', 'Home', 'Cancellation Flow'], 6: ['My Account', 'My Account']}

我希望我的输出看起来像这样:

User       1                  2                  3               4        5
1          'Home'            'Stories'
2          'Sounds'          'Stories'          'Home'          'Home'   'Stories'
3          'Journeys'        'Journeys'         'Journeys'
4          'Home'            'Home'             'Home'
5          'Home'            'Stories'          'Home'          'Home'   'Cancellation Flow'
6          'My Account'      'My Account'

有人有什么建议吗?我想制作一个sankey图,并且需要将每个单个点击决策(列表中的每个项目)作为自己的列,以便查看每个点击决策的组合。

您可以利用pandaslib的优势,它可以用简洁的代码自动完成许多此类任务:

import pandas as pd
df = pd.DataFrame.from_dict(my_dict, orient='index').fillna('')
.rename_axis(['User']).reset_index()
df.columns = [df.columns[0], *(df.columns[1:] + 1)]
print(df)

User           1           2          3     4                  5
0     1        Home     Stories                                    
1     2      Sounds     Stories       Home  Home            Stories
2     3    Journeys    Journeys  Journeys                          
3     4        Home        Home       Home                         
4     5        Home     Stories       Home  Home  Cancellation Flow
5     6  My Account  My Account                                    

最新更新