当特定列值具有该值时,我想删除熊猫数据框中的剩余行。
例如,如果 col1 的值为“FEB”,则删除剩余的所有行,包括该行。
代码:
df = pd.read_excel(path, usecols=range(32, 89), skiprows=9).dropna(how='all')
当特定列值具有该值时,我想删除熊猫数据框中的剩余行。
例如,如果 col1 的值为“FEB”,则删除剩余的所有行,包括该行。
代码:
df = pd.read_excel(path, usecols=range(32, 89), skiprows=9).dropna(how='all')
在你的情况下使用argmax
yourdf=df.iloc[:df.col1.eq('FEB').values.argmax(),:].copy()
你也可以使用cumsum:
df = df[df['col1'].eq('FEB').cumsum().eq(0)]
测试数据:
df = pd.DataFrame({'col1': ['JAN', 'MAY', 'FEB', 'JAN', 'FEB'],
'col2': [1,2,3,4,5]})
col1 col2
0 JAN 1
1 MAY 2
2 FEB 3
3 JAN 4
4 FEB 5
输出:
col1 col2
0 JAN 1
1 MAY 2
尝试反转 (~) 运算符:
df=df[~df['col1'].str.match('FEB')]
要选择数字,您可以直接使用:
new_dataframe=df[df.col1 != #put number here]