我刚刚将两个长度不等的数组与命令结合在一起:

allorders = map(None,todayorders, lastyearorders)


在今天订单没有值的地方给出“ none”(因为todayorders数组的长度不长)

但是,当我尝试将allorders数组传递到matplotlib条形图中时:

 p10= plt.bar(ind, allorders[9],   width, color='#0000DD', bottom=allorders[8])


..我收到以下错误:

TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'


那么,matplotlib是否有办法不接受任何数据类型?如果没有,如何在我的allorders数组中将“ Nones”替换为零?

如果可以的话,因为我是Python新手(来自R社区),请从头到尾提供我可以使用/测试的详细代码。

最佳答案

使用列表理解:

allorders = [i if i[0] is not None else (0, i[1]) for i in allorders]

关于python - 用零替换python数组中的骨骼,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14060894/

10-09 17:32