РЕШЕНИЕ:
Один из способов решить эту проблему - изменить код следующим образом:
to_hex.loc[:,'ID']= wdf.index+1
# to_hex.index=pdf.index # no need
to_hex.loc[:,'podroze']= pdf.sum(axis=0) # modified; directly use the series output from SUM()
# to_hex.index=wdf.index # no need
to_hex.loc[:,'p_rozmyte']= wdf.sum(axis=0) # modified
Тогда вы получите:
ID podroze p_rozmyte
0 1 0 2.5
1 2 0 5.0
2 3 10 302.5
3 4 0 0.0
4 5 0 277.5
5 6 0 555.0
6 7 0 275.0
7 8 0 550.0
8 9 1100 3527.5
I Подумайте, причина, по которой вы получаете NaN для одного случая, а правильные значения для другого, кроется в to_hex.dtypes
:
ID int64
podroze int64
p_rozmyte int64
dtype: object
И, как вы видите, to_hex
тип данных имеет тип столбца int64. Это нормально, когда вы добавляете pdf
фрейм данных (поскольку он имеет тот же тип d)
pd.DataFrame(pdf.sum(axis=0))[:].dtypes
0 int64
dtype: object
, но не работает при добавлении wdf
:
pd.DataFrame(wdf.sum(axis=0))[:].dtypes
0 float64
dtype: object