代码
df=pd.DataFrame({'Col1':[1, '-','-'], 'Col2':['-','-',2]})
df.sum()返回
Series([], dtype: float64)假设字符串可能会造成困难,但这也不起作用:
df.sum(numeric_only=True)返回
Series([], dtype: float64)我不明白输出试图告诉我的是什么,以及为什么我首先要得到它。
只有当我用零替换字符串时,结果才是预期的:
df.replace('-',0).sum()返回
Col1 1
Col2 2
dtype: int64发布于 2021-04-19 02:14:46
这是个bug。已提交并确认为问题#39903.
发布于 2021-02-19 17:22:02
我假设pandas的函数sum的工作方式与内置的python函数一样。因此,如果只有一个数字,则没有可迭代的,因此没有要求和的内容。
就像您在调用sum(1)一样,答案将是:TypeError: 'int' object is not iterable
而sum([1,0,0])会给你一个答案,即使是微不足道的
https://stackoverflow.com/questions/66274713
复制相似问题