我试图创建一个新的 Dataframe ,排除包含两个日期的行,我的日期列是索引。
当我使用
DF2 = DF.drop(DF.loc['03/01/2018':'03/02/2018'])
我得到了错误
KeyError: "['Column_name1' 'Column_name2'] not found in axis"
我尝试添加axis = 0
以指定要删除行,但仍然得到相同的错误
DF2 = DF.drop(DF.loc['03/01/2018':'03/02/2018'], axis = 0)
如果我尝试打印'loc',它将按预期返回行
print(DF.loc['03/01/2018':'03/02/2018'])
3条答案
按热度按时间vsnjm48y1#
您的语句只需要在末尾使用
.index
。要像这样进行切片,您需要loc,但是drop
需要index
作为输入。如果这不起作用,那么你应该检查索引的格式(需要是字符串的方式,你试图访问它)
如果index是
datetime.date
,你可以这样做:aydmsdu92#
由于您说您的日期是索引,所以当您使用
DF.loc['03/01/2018':'03/02/2018']
时,您定位的是介于03/01/2018
和03/02/2018
之间的行。pandas.DataFrame.drop
接受索引或列标签,默认情况下接受索引标签。bxgwgixi3#
我在使用drop函数时也遇到了类似的错误(没有loc)
而且它给了我一个类似的索引错误。我在添加.index后仍然有这个错误,但是这个kwarg修复了它。