![](/img/trans.png)
[英]Drop rows pandas based on combination of matched column values with other dataframe
[英]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.