此问题已在此处有答案:
How to filter Pandas dataframe using 'in' and 'not in' like in SQL(12个回答)
昨天关门了。
我有一个这样的datafame:
#Load the required libraries
import pandas as pd
import matplotlib.pyplot as plt
#Create data_set
data_set = {'id': [1,
1,
1,
1,
1,
2,
2,
2,
2,
2,
2,
2,
2,
3,
3,
3,
3,
3,
3,
3,
4,
4,
4,
],
'cycle': [1,
2,
3,
4,
5,
1,
2,
3,
4,
5,
6,
7,
8,
1,
2,
3,
4,
5,
6,
7,
1,
2,
3,
],
'Salary': [10,
20,
30,
40,
50,
10,
20,
30,
40,
50,
60,
70,
10,
10,
20,
30,
40,
50,
10,
80,
60,
70,
10,
],
'Expenditure': [100,
210,
320,
430,
540,
90,
200,
310,
420,
530,
100,
200,
300,
80,
190,
300,
410,
520,
340,
780,
100,
200,
300,
],
}
#Convert to dataframe
df = pd.DataFrame(data_set)
print("\n df = \n",df)
上面的数据框看起来是这样的:
这里id=1出现了5次。
同样id=2出现8次; id=3出现7次; id=4出现3次
现在,我希望删除id=2的所有行;且id=4。
dataframe中的结果看起来是这样的:
有人能告诉我如何在Python中实现这个任务吗?
1条答案
按热度按时间iqjalb3h1#
new_df = df[(df['id'] != 2) & (df['id'] != 4)]
能满足您的需求吗?