我有以下格式的字典:
tuple_key_dict = {
(0, 'Q2'): 0.41,
(1, 'Q2'): 0.52,
(2, 'Q2'): 0.61,
(0, 'Q3'): 0.66,
(1, 'Q3'): 0.53,
(3, 'Q3'): 0.66,
(0, 'Q4'): 0.47,
(1, 'Q4'): 0.52,
(2, 'Q4'): 0.67
}
我還有一個列名串列:
interesting_columns=['Q2', 'Q3', 'Q4']
...并且知道索引在范圍內(0,1000)。使用了所有列名稱和索引,但缺少一些組合(例如,在上面的示例中:(2,'Q2')。)
這里的作業是將所有這些都放在一個漂亮的資料框中,其中元組的第一個元素(鍵)是索引,第二個元素是列名(值是字典值)。我嘗試了許多我什至不想在這里提及的方法 - 都失敗了:)
uj5u.com熱心網友回復:
我假設您在寫(2, 'Q2')缺少組合時打錯了字,我將沒有值的單元格保留為 NaN。
代碼
tuple_key_dict = {
(0, 'Q2'): 0.41,
(1, 'Q2'): 0.52,
(2, 'Q2'): 0.61,
(0, 'Q3'): 0.66,
(1, 'Q3'): 0.53,
(3, 'Q3'): 0.66,
(0, 'Q4'): 0.47,
(1, 'Q4'): 0.52,
(2, 'Q4'): 0.67
}
columns = ["Q2", "Q3", "Q4"]
# our indexes are a set that contains all the first item of the keys
indexes = {key[0] for key in tuple_key_dict}
df = pd.DataFrame(index=indexes, columns=columns)
for key, value in tuple_key_dict.items():
df.at[key[0], key[1]] = value
print(df)
輸出
Q2 Q3 Q4
0 0.41 0.66 0.47
1 0.52 0.53 0.52
2 0.61 NaN 0.67
3 NaN 0.66 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/495563.html
