Когда я суммирую пустую серию, я ожидаю, что значение будет нулем, как указано в Pandas документации . Действительно, если я последую приведенному там примеру, создаю пустую серию и суммирую ее, то это то, что я получаю
(Pdb) empty = pd.Series([])
(Pdb) type(empty)
<class 'pandas.core.series.Series'>
(Pdb) empty.sum()
0.0
Однако у меня есть DataFrame, который на основе базовых данных иногда может быть пустым. . В этом случае у меня есть что-то вроде
(Pdb) prior
Empty DataFrame
Columns: [ILC, FCTC, AWD, PD]
Index: []
(Pdb) prior['PD'].sum()
False
Это неожиданно, потому что
(Pdb) type(prior['PD'])
<class 'pandas.core.series.Series'>
Это похоже на ситуацию, идентичную той, что была в первом блоке кода. Может ли кто-нибудь помочь мне понять, что мне не хватает? Почему сумма во втором блоке кода возвращает False, тогда как первый возвращает числовое значение?
Edit
Меня попросили опубликовать код, который создает предыдущий. Есть несколько шагов, которые go для его создания, но я могу воссоздать эту проблему, создав пустой фрейм данных и суммируя по одному из столбцов. См. Ниже:
In [1]: import pandas as pd
In [2]: %paste
dfObj = pd.DataFrame(columns=['User_ID', 'UserName', 'Action'])
print("Empty Dataframe ", dfObj, sep='\n')
## -- End pasted text --
Empty Dataframe
Empty DataFrame
Columns: [User_ID, UserName, Action]
Index: []
In [3]: dfObj['User_ID'].sum()
Out[3]: False