簡體   English   中英

從列表字典創建 pandas dataframe

[英]creating a pandas dataframe from dictionary of lists

我有一個圖的連接組件字典,例如:

d = {'A':[1,5,7],'B':[2,4], 'C':[3,6]}

我想創建一個 dataframe 的形式:

  cc  node
0  A     1
1  A     5
2  A     7
3  B     2
4  B     4
5  C     3
6  C     6

我可以通過為字典中的每個鍵創建一個 df 然后連接它們來做到這一點,但我正在尋找一個更好的解決方案。

d = {'A':[1,5,7],'B':[2,4], 'C':[3,6]}
df = []
for k,v in d.items():
    for i in v:
        df.append([k,i])
for l in df:
    print(l)



['A', 1]
['A', 5]
['A', 7]
['B', 2]
['B', 4]
['C', 3]
['C', 6]

explode檢查

pd.Series(d).explode()

也許是這樣的:

import pandas as pd
d = {'A':[1,5,7],'B':[2,4], 'C':[3,6]}
temp = [[key, n] for key, val in d.items() for n in val]
df = pd.DataFrame(df, columns=['cc', 'node'])
print(df)

Output:

  cc  node
0  A     1
1  A     5
2  A     7
3  B     2
4  B     4
5  C     3
6  C     6

國際大學聯合會,

cc, node = [], []
for key, value in d.items():
    cc += [key] * len(value)
    node += value
    
df = pd.DataFrame({'cc' : cc, 'node' : node})
print(df)

Output

  cc  node
0  A     1
1  A     5
2  A     7
3  B     2
4  B     4
5  C     3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM