我有两个像这样的df:

df1
x   y
0   64
1   57
2   51
3   46
4
5
6   35
7
8
9   29

df2
x   y
0   85
1   22
2   77
3   65
4   21
5   13
6   34
7   98
8
9   29


我正在尝试查找每个列表中有多少个孔。在df1中,有2个孔,这意味着有两个斑点,其中连续数字中断。在df2中,有一个孔。

如果我像下面那样保存非空的x值,则有一个数字列表。

df3 = df1.loc[~df1['y'].isnull()]
listcheck = df3['x'].tolist()

print(listcheck)
[0, 1, 2, 3, 6, 9]


我可以使用此列表找出如上所述的漏洞吗?

最佳答案

您可以执行以下操作:

num_holes = 0

# find hole at beginning of array
if listcheck[0] > 0:
    num_holes += 1

# find hole at end of array
if listcheck[-1] != len(df1)-1:
    num_holes += 1

# find hole in the middle of array
for i in range(len(listcheck) - 1):
    if listcheck[i+1] - listcheck[i] > 1:
        num_holes += 1

print(num_holes)

关于python - Python查找时间在列表中不连续,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57417423/

10-12 23:23