Skip to main content
 首页 » 编程设计

python之在下一列中为具有重复键的字典的每个值附加行

2025年05月04日20zengkefu

不幸的是,我正在为以下计划而苦苦挣扎:

我抓取了一个大字典,其中用户名作为键,键的 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']} 

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

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 

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

提前致谢!

请您参考如下方法:

通过 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']} 

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