我有两个像这样的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/