如何解决在熊猫中找到缺失值不是NaN
我有一个按升序排列的熊猫系列。其值类似于1,2,3,...,73514,73515,73516。但是列数是73515。
我需要找到缺少的值。如何找到?
解决方法
假设列名称的类型为int,您也可以使用python集:
set(range(1,73516)).difference(set(df.columns))
或
set(range(1,73516)) - set(df.columns)
,
如果该值为数字,则可以尝试:
a=input("Enter your name:")
import datetime
currentTime = datetime.datetime.now()
currentTime.hour
if currentTime.hour < 12:
print('Good morning',a)
elif 12 <= currentTime.hour < 18:
print('Good afternoon',a)
else:
print('Good evening',a)
[write this without using python,click this link provided below to write]
如果值是字符串:
df[df['col1'] == 0]
,
假设我正确理解了你
for i in range(1,73517):
i if i not in series.to_list() else print('',end='')
它应该打印搜索到的值。
,您可以使用二进制搜索算法,以将缺少的值返回给您。请检查此解决方案,然后使其适应使用熊猫: https://www.geeksforgeeks.org/find-missing-element-in-a-sorted-array-of-consecutive-numbers/
这是最有效的解决方案。与其他解决方案相比,O(logN)的执行速度要快得多,在其他解决方案中,您必须迭代从1到Series中最后一个元素的所有值的范围,并检查每个值是否在Series中,之所以使用O(N 2 ),是因为迭代和 in 都采用O(N)。
祝你有美好的一天!
,假设您的意思是您的列表范围在1到73515之间,并且需要查找此列表中是否缺少任何值。
一种执行此操作的方法是制作一个具有所有期望值的列表 例如 预期=范围(1,73515)
然后您可以将期望值与列表进行比较
missing_values = []
for num in expected:
if num not in original_list:
missing_values.append(num)
或在列表理解中执行相同的操作:
missing_values_comprehension = [num for num in expected if num not in original_list]
很显然,您确实提到过您拥有系列中的值。 您可以根据需要直接迭代这些值,也可以先将它们转换为列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。