我把两个数据透视表contact在一起后,想要删掉单元格值为“分配”的行。然后报错
2= pd.read_excel("A.xlsx",sheet_name='AMANDA ')
new_2=2[2.iloc[:,10].notna()]
3= pd.read_excel("S.xlsx",sheet_name='DITl')
new_3=3[3.iloc[:,10].notna()]
df_concat=pd.concat([new_2,new_3])
for j in range(0,len(df_concat.index)):
if df_concat.iat[j, 10] ==("分配") :
df = df_concat.drop(index=[j])
raise KeyError(f"{labels} not found in axis")
KeyError: '[0] not found in axis'
我发现运行到for j in range(0,len(df_concat.index)):应该都是对的,但是drop就出错了。
可以使用df=df[df列名]!='分配']来去除某列含分配的行。示例:
import pandas as pd
df=pd.read_excel('t220601.xlsx',header=None,names=list('ABCDE'))
print(df)
"""
A B C D E
0 john 12 12.3 15.2 NaN
1 amanda 10 8.5 11.0 NaN
2 cathrine 14 NaN 2.5 NaN
3 bob 13 2.0 6.0 NaN
4 tony 11 NaN 15.0 NaN
"""
df=df.dropna(subset=['C'],axis=0,how='any')
df=df[df['A']!='amanda']
print(df)
"""
A B C D E
0 john 12 12.3 15.2 NaN
3 bob 13 2.0 6.0 NaN
"""
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!