这样一个数据列表,假如这一列数据不能大于15,那么这一列就有两个值大于15,一个16,一个18,我现在要删除的行应该是前两行,和第5,6行,因为每两行是一组,一组中如果AD列有一个值不合格,那么这组所在的行数据都不合格,如何在这样的条件下完成行数据的删除,请各位大佬指点,谢谢!
import numpy as np
import pandas as pd
# 读取数据 加上.values直接变成ndarray
data = pd.read_excel("1.xlsx", header=0).values
column = 5 # 需要判断的列
# 找到符合条件>15的行
row = np.where(data[:, column] > 15)
# 两条一组,找到组号
group = np.floor(np.array(row) / 2)
# 找到需要删除的行
delete_row = tuple(np.concatenate((2 * group, 2 * group + 1), axis=1).astype(int))
newdata = np.delete(data, delete_row, axis=0)
print(newdata)