直方图与pandas value_counts()结果不一致的原因咨询
为什么pandas的value_counts()和直方图结果有差异?
value_counts()是精确匹配单个值的计数:它只会统计完全相同的数值出现的次数。你输出里的200000000.0能排第一,是因为这个值在数据里重复了906次;而那些0.02左右的数值,其实是一堆略有差异的小数值(比如0.0201、0.0198、0.021这类),每个单独的数值出现次数都很少,自然挤不进value_counts()的前3名。
直方图是按区间合并统计:直方图会自动把数值划分成若干连续的区间(bins),统计每个区间内所有数据点的总数量。你看到的0.02附近的峰值,是落在这个区间里的所有不同小数值的数量总和——这些数值单个出现次数不多,但加起来的总数远大于那个大值的次数,所以在直方图里呈现出高频峰值。
本质上,一个是数“完全一样的数值有多少个”,一个是数“某个范围内的所有数值加起来有多少个”,统计逻辑完全不同,结果当然会有差异。
内容的提问来源于stack exchange,提问作者Mathew
相关产品推荐
相关产品推荐

