在下一列中为重复键添加每个字典值的行

Mow*_*imo 1 python dictionary dataframe pandas

不幸的是,我正在努力遵循以下计划:

我用一个用户名作为键和关键字"Instagram粉丝"作为其值来搜索一本大字典.

看起来像这样:

dict = {
"User1": ['Follower_A', 'Follower_B', 'Follower_C', 'Follower_D', 'Follower_E', 'Follower_F', 'Follower_G'],
"User2": ['Follower_Z', 'Follower_D', 'Follower_V', 'Follower_E' 'Follower_O'],
"User3": ['Follower_P', 'Follower_Q'],
"User4": ['Follower_M', 'Follower_A', 'Follower_Z', 'Follower_P' 'Follower_L'],
.
.
.,
"UserX": ['Follower_Z', 'Follower_D', 'Follower_V', 'Follower_E' 'Follower_O','Follower_Q']}
Run Code Online (Sandbox Code Playgroud)

为了创建一个网络,我需要有一个如下所示的数据框:

User    Follower
0   User1   Follower_A
1   User1   Follower_B
2   User1   Follower_C
3   User1   Follower_D
4   User1   Follower_E
5   User1   Follower_F
6   User1   Follower_G
7   User2   Follower_Z
8   User2   Follower_D
9   User2   Follower_V
10  User2   Follower_E
11  User2   Follower_O
12  User3   Follower_P
13  User3   Follower_Q
Run Code Online (Sandbox Code Playgroud)

有没有人有想法以有效的方式创建它?我所有的努力都没有成功......

提前致谢!

jez*_*ael 5

对于带有DataFrame构造函数的元组,使用列表推导和展平.

也不要使用变量名dict,因为它是python代码保留字.

d = {
"User1": ['Follower_A', 'Follower_B', 'Follower_C', 'Follower_D', 'Follower_E', 'Follower_F', 'Follower_G'],
"User2": ['Follower_Z', 'Follower_D', 'Follower_V', 'Follower_E', 'Follower_O'],
"User3": ['Follower_P', 'Follower_Q'],
"User4": ['Follower_M', 'Follower_A', 'Follower_Z', 'Follower_P', 'Follower_L'],
"UserX": ['Follower_Z', 'Follower_D', 'Follower_V', 'Follower_E', 'Follower_O','Follower_Q']}
Run Code Online (Sandbox Code Playgroud)
df = pd.DataFrame([(oldk, k) for oldk, oldv in d.items() for k in oldv], 
                   columns=['User','Follower'])
print (df)
     User    Follower
0   User1  Follower_A
1   User1  Follower_B
2   User1  Follower_C
3   User1  Follower_D
4   User1  Follower_E
5   User1  Follower_F
6   User1  Follower_G
7   User2  Follower_Z
8   User2  Follower_D
9   User2  Follower_V
10  User2  Follower_E
11  User2  Follower_O
12  User3  Follower_P
13  User3  Follower_Q
14  User4  Follower_M
15  User4  Follower_A
16  User4  Follower_Z
17  User4  Follower_P
18  User4  Follower_L
19  UserX  Follower_Z
20  UserX  Follower_D
21  UserX  Follower_V
22  UserX  Follower_E
23  UserX  Follower_O
24  UserX  Follower_Q
Run Code Online (Sandbox Code Playgroud)