【发布时间】:2021-08-25 03:42:30
【问题描述】:
我有这个数据框来解决交通问题。
Unnamed: 0 Unnamed: 1 c1 c2 c3 c4 c5 capacity
0 NaN p1 4 5 6 8 10 500.0
1 NaN p2 6 4 3 5 8 500.0
2 NaN p3 9 7 4 2 4 500.0
3 demand NaN 80 270 250 160 180 NaN
我已经像这样更改了列名,
df.columns = ['Demand', 'Plant', 'c1', 'c2', 'c3', 'c4', 'c5', 'capacity']
我想做一本这样的字典,
d = {c1:80, c2:270, c3:250, c4:160, c5:180} # customer demand
M = {p1:500, p2:500, p3:500} # factory capacity
I = [c1,c2,c3,c4,c5] # Customers
J = [p1,p2,p3] # Factories
cost = {(p1,c1):4, (p1,c2):5, (p1,c3):6,
(p1,c4):8, (p1,c5):10, ......
}
对于第一种情况,我使用了以下代码,
M = df.set_index('Plant')['capacity'].to_dict()
它给了我,
{'p1': 500.0, 'p2': 500.0, 'p3': 500.0, nan: nan}
我不想要任何 NaN 值。请帮助以没有 NaN 的通用方式查找此总字典(d、M 和成本)。
【问题讨论】:
标签: python pandas dataframe numpy dictionary