繁体   English   中英

仅当 DataFrame 中存在一行时,如何在 Pandas 中删除该行

[英]How to drop a row in Pandas only if it exists in the DataFrame

我有一个 DataFrame 有时有一行叫做 (UnSpecified) 有时没有。 当我尝试按名称删除行并且它不存在时,我收到“(UnSpecified) not found in axis”错误。

### sales 2018 ###

sales_2018 = pd.read_csv('sales 2018.csv')

# gross sales

gross_sales_2018_pivot = pd.DataFrame(pd.pivot_table(sales_2018, values=['GROSS SALES'], index=['DAYPARTNAME'], columns=['DAY OF WEEK'], aggfunc=np.sum))

gross_sales_2018_pivot = gross_sales_2018_pivot.drop('(UnSpecified)', axis=0)                       

gross_sales_2018_pivot.to_excel(writer, sheet_name='overall')
writer.save()

如果没有 (UnSpecified) 行,如何创建循环以使其忽略/传递错误?

文档

gross_sales_2018_pivot = gross_sales_2018_pivot.drop('(UnSpecified)', axis=0, errors='ignore')   

总销售额_2018_pivot =总销售额_2018_pivot.loc[未指定条件,:]

例子:

gross_sales_2018_pivot = gross_sales_2018_pivot.loc[gross_sales_2018_pivot['important_col'] != 'trash', :]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM