【发布时间】:2020-11-01 20:54:26
【问题描述】:
我在过滤此 pandas 数据框时遇到以下问题:
import pandas as pd
>>> df1 = pd.DataFrame({'YEAR': [2020,2020,2019,2019, 2019,2020, 2020],'MONTH': [7,6,6,7, 2, 1, 2],'WEEK': [2,2,3,3, 2, 1, 2],'SALES': [45357, 30000, 2858, 10500, 3321, 23434, 2233]})
>>>
>>>
>>>
>>> df1
YEAR MONTH WEEK SALES
0 2020 7 2 45357
1 2020 6 2 30000
2 2019 6 3 2858
3 2019 7 3 10500
4 2019 2 2 3321
5 2020 1 1 23434
6 2020 2 2 2233
>>>
我正在使用此代码过滤数据框:
df1[(df1['YEAR'] != 2020) & (df1['MONTH'] != 7)]
我想删除年份为 2020 年和第 7 个月的行,但是这段代码给了我一个包含 2019 年和第 6 个月和第 2 个月的数据框。我做错了什么?我需要创建一个包含月份和年份的新列吗?
【问题讨论】:
-
这与R没有任何关系,所以请不要标记它。此外,您的问题标题无需全部大写
-
无论如何,您的代码不能只留下月份
8,因为它甚至不存在于您的数据集中 -
这是你想要的吗?
df1.query("YEAR!=2020 | MONTH!=7")? -
对不起大写和标记 R @roganjosh ,我仍然在这里学习。
-
@NelsonGon 我不想使用查询,但另一个用户回答了我想要的,谢谢!
标签: python pandas dataframe conditional-statements