目前我有一個資料框。
| ID | 一個 | 乙 |
|---|---|---|
| 123 | 一個 | b |
| 456 | C | d |
我想將其轉換為字典,其中字典的鍵是“ID”列。字典的值將是另一個字典,其中該字典的鍵是其他列的名稱,而該字典的值將是相應的列值。使用上面的示例,這將如下所示:
{ 123 : { A : a, B : b}, 456 : {A : c, B : d} }
我試過:
mydataframe.set_index("ID").to_dict(),但這會導致與想要的格式不同。
uj5u.com熱心網友回復:
您只需要根據檔案orient傳遞正確的引數。
import io
pd.read_csv(io.StringIO('''ID A B
123 a b
456 c d'''), sep='\s ').set_index('ID').to_dict(orient='index')
{123: {'A': 'a', 'B': 'b'}, 456: {'A': 'c', 'B': 'd'}}
當然,列保持它們的字串型別,如引號所示。
uj5u.com熱心網友回復:
考慮以下:
import pandas as pd
df = pd.DataFrame({'ID':[1,2,3], 'A':['x','y','z'], 'B':[111,222,333]})
您將使用以下兩行回傳您想要的內容:
df.set_index('ID', inplace=True)
some_dict = {i:dict(zip(row.keys(), row.values)) for i, row in df.iterrows()}
輸出等于:
{1: {'A': 'x', 'B': 111}, 2: {'A': 'y', 'B': 222}, 3: {'A': 'z', 'B': 333}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492691.html
上一篇:將映射雙重轉換為串列回傳null
下一篇:查找嵌套在字典和串列中的鍵和值
