我有这样一个df:
Allotments SH_Class SH_Percent
A. Annex BNW 16.187500
A. Annex MTGP 1.0000000
A. Annex Meadow 39.687500
A. Annex PHP 29.687500
A. Annex SP 16.250000
A. Annex WMTGP 10.833333
A. Annex Woodland 5.000000
Arnstson Meadow 28.750000
Arnstson PHP 61.590909
Arnstson SP 18.125000
Arnstson WMTGP 2.500000
Arnstson Woodland 17.083333
我希望SH_Class
对于每个唯一的Allotments
都是相同的。因此,即使Arnstson
中没有MTGP
或BNW
,我希望它加上相应的SH_Percent
为零。我期望的输出是:
Allotments SH_Class SH_Percent
A. Annex BNW 16.187500
A. Annex MTGP 1.0000000
A. Annex Meadow 39.687500
A. Annex PHP 29.687500
A. Annex SP 16.250000
A. Annex WMTGP 10.833333
A. Annex Woodland 5.000000
Arnstson BNW 0.0000000
Arnstson MTGP 0.0000000
Arnstson Meadow 28.750000
Arnstson PHP 61.590909
Arnstson SP 18.125000
Arnstson WMTGP 2.500000
Arnstson Woodland 17.083333
我尝试过以下代码:
target_ix = pd.MultiIndex.from_product([df.Allotments.unique(),
levels='BNW', 'MTGP', 'Meadow', 'PHP', 'SP', 'WMTGP', 'Woodland'])
new_df = df.loc[target_ix]
但这并不完全正确
你很接近
相关问题 更多 >
编程相关推荐