我有一个大熊猫系列,其中包含从0到1,000,000的唯一数字。该系列不完整,但在此范围内缺少一些数字。我想大致了解哪些数字缺失,所以我认为我应该将数据绘制成一条带有显示缺失数据的间隙的线。
我将如何实现这一目标?这不起作用:
nums = pd.Series(myNumbers)
nums.plot()
答案 0 :(得分:1)
以下提供了系列nums
中缺失数字的列表。然后,您可以根据需要绘制它们。出于您的目的,请将max
调整为1E6。
max = 10 # highest number to look for in the Series
import pandas as pd
nums = pd.Series([1, 2, 3, 4, 5, 6, 9])
missing = [n for n in xrange(int(max + 1)) if n not in nums.values]
print missing
# prints: [0, 7, 8, 10]
我认为您编写的绘图功能有两个问题。首先,有一百万个数字。其次,绘图的x轴将是系列中的索引(从0开始,顺序排列); y轴将是您关心的数字(此处代码中为nums.values
)。因此,您正在寻找缺少的y轴值。
答案 1 :(得分:-1)
我认为这取决于你失踪的意思。如果那些是nans,那么你可以做类似的事情
len(nums[nums.apply(numpy.isnan)])
如果您要查找系列中0-1M之间不存在的数字,请执行类似
的操作a= set([i for i in xrange(int(1e6))])
b= set(nums.values)
print len(a-b) # or plot it as scatter.