我正在嘗試將我的字典轉換為具有多索引的“查找字典”。
我有以下字典,其中當前鍵是句點:
{8: {'FlightName': ['Flightname612'],
'Flight_idx': array([268]),
'Baggage': array([149]),
'infeed_idx': [1]},
9: {'FlightName': ['Flightname612'],
'Flight_idx': array([268]),
'Baggage': array([149]),
'infeed_idx': [2]},
10: {'FlightName': ['Flightname353', 'Flightname394', 'Flightname612'],
'Flight_idx': array([ 9, 50, 268]),
'Baggage': array([ 21, 1, 149]),
'infeed_idx': [1, 1, 3]},
我想要一本字典,我可以在其中查找航班索引和進給索引,然后它會回傳那個時期。所以預期的結果:
(flight_idx, infeed_idx)=period
(268,1) = 8
(268,2) = 9
(9,1) = 10
(50,1) = 10
(268,3)=10
我試圖使用 looooot 回圈來解決它,但我覺得有一個簡單的解決方案,如果你了解 pandas、字典和操作的方法。我希望你能幫忙!
uj5u.com熱心網友回復:
您可以創建一個資料框,其中資料作為輸入字典的值,索引作為其鍵。
然后reset_index()為period和 set_index()創建一個新列,[Flight_idx, infeed_idx]并使用它來構建字典to_dict。
代碼:
df = pd.DataFrame(in_dict.values(), index=in_dict.keys())
out_dict = df.explode(["Flight_idx", "infeed_idx"]).rename_axis("period").reset_index().set_index(
["Flight_idx", "infeed_idx"]
)["period"].to_dict()
列印(輸出字典):
{(268, 1): 8, (268, 2): 9, (9, 1): 10, (50, 1): 10, (268, 3): 10}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/519755.html
標籤:Python熊猫字典
上一篇:使用兩個日期中的較晚日期,然后在groupby中減去另一個日期
下一篇:熊貓時期系列減去一年
