这是我的字典,我想把列表中的每个值都放到它自己的列中。
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图,并且需要将每个单个点击决策(列表中的每个项目)作为自己的列,以便查看每个点击决策的组合。
您可以利用pandas
lib的优势,它可以用简洁的代码自动完成许多此类任务:
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