底线问题:
这很难看,对吧?对于熊猫数据帧:
{
长版本:我试图找到Pandas数据帧中“空”值的总和。空是指当条目为[0]——一个列表时。在
我想最好的解决方案是不使用list[0]作为数据帧单元中的值。假设我坚持这样做,我想了解为什么有那么多函数不起作用,给出一个“unhable list”错误?在
是的,这是一个数据科学课的家庭作业。我们抓取了一个展示酒吧和欢乐时光的网页。我建立了这个数据帧,我使用的是小时列表,其中列表中的最后一个条目是快乐时光结束时。忽略数据中的几个错误:
我开始相信,在数据帧中存储列表并不是最好的主意,因为我希望使用的许多函数都告诉我,它们不能散列为list:
In [173]: happyBarFrame['Sunday'].value_counts()
。。。正在跳过长错误。。。在
TypeError: unhashable type: 'list'
问题是:我尝试了以下方法,其中包括许多其他方法。按天计算列表中只有单个0(单元格值=[0])的单元格的最佳方法是什么?
happyBarFrame[happyBarFrame['Sunday'].isin([[0]])]
——不起作用
happyBarFrame[happyBarFrame['Sunday'].isin([0])]
——不起作用
两者都给出TypeError: unhashable type: 'list'
happyBarFrame['Sunday'].apply(lambda x : x == [0]).value_counts()[0]
确实有用,但只是感觉不对!我可以迭代一周中的几天,逐日获取计数,然后构建我需要构建的直方图。但是一定有更好的方法,这看起来真的很低效,是吗?在
编辑:修正了一个错误,即需要在值\u counts[0]中计算True,而不是False
如果只想对数据帧中的每个单元格应用函数,可以使用
applymap
;然后要获得列和,只需调用sum
:相关问题 更多 >
编程相关推荐