gpt4 book ai didi

python - Pandas 删除重复的数据范围

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:14 25 4
gpt4 key购买 nike

大家好,我有以下数据框:

df1
WL WM WH WP
1 low medium high premium
2 26 26 15 14
3 32 32 18 29
4 41 41 19 42
5 apple dog fur napkins
6 orange cat tesla earphone
7 NaN rat tobias controller
8 NaN NaN phone
9 low medium high
10 1 3 5
11 2 4 6
12 low medium high
13 4 8 10
14 5 9 11

有没有办法删除低 + 2 行,使得输出如下:

df1
WL WM WH WP
1 low medium high premium
2 26 26 15 14
3 32 32 18 29
4 41 41 19 42
5 apple dog fur napkins
6 orange cat tesla earphone
7 NaN rat tobias controller
8 NaN NaN phone

不幸的是,代码必须是动态的,因为我有多个数据帧,并且每个数据帧中“低”的位置都不同。我的初步尝试:

df1 = df1[~df1.iloc[:,0].isin(['LOW'])+2].reset_index(drop=True)

但这并不是我想要的。任何帮助表示感谢

最佳答案

您可以使用:

#get index values where low
a = df.index[df.iloc[:,0] == 'low']

size = 2
#all index values (without first [1:])
#min is for last rows of df for avoid select non existed values
arr = [np.arange(i, min(i+size+1,len(df)+1)) for i in a[1:]]
idx = np.unique(np.concatenate(arr))
print (idx)
[ 9 10 11 12 13 14]

#remove rows
df = df.drop(idx)
print (df)
WL WM WH WP
1 low medium high premium
2 26 26 15 14
3 32 32 18 29
4 41 41 19 42
5 apple dog fur napkins
6 orange cat tesla earphone
7 NaN rat tobias controller
8 NaN NaN phone NaN

关于python - Pandas 删除重复的数据范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com