繁体   English   中英

删除基于 2 列组合的熊猫行条件

[英]Drop pandas rows based condition of 2 column combination

我有一个熊猫表,有 2 列,月份和年份。

Month   Year
1       2020
2       2020
3       2020
4       2020
5       2020
6       2020
7       2020
8       2020
9       2020
10      2020
11      2020
12      2020
1       2021
2       2021
3       2021
4       2021
5       2021

我想在此示例中删除特定月份 2020 年 1 月 (1/2020)。

但是,我所做的是删除所有月份为 1 的行和年份为 2020 的所有行。

#Dataframe
foo = pd.DataFrame({'Month':[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5],'Year':[2020,2020,2020,2020,2020,2020,2020,2020,2020,2020,2020,2020,2021,2021,2021,2021,2021]})

#What I have tried:
foo[(foo.Month != 1) & (foo.Year != 2020)]

#Output:
Month   Year
2       2021
3       2021
4       2021
5       2021

如何删除特定的月份和年份组合?

用“非与”代替“非与非”

foo[~((foo.Month == 1) & (foo.Year == 2020))]

尝试一下。

foo[-((foo.Month == 1) & (foo.Year == 2020))]

您可以在不等式上使用any

df[df[['Month','Year']].ne((1,2020)).any(1)]

暂无
暂无

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

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