python - 如何根据索引库删除 df 行?
问题描述
我有这个df:
question=pd.DataFrame()
question['Area']=['Miami','Miami','NYC','Dallas','Dallas','Dallas']
question['Venues']=['Margaritas','Salsa Club','Ginos','7Eleven','Laser Tag','Starbucks']
question
Area Venues
0 Miami Margaritas
1 Miami Salsa Club
2 NYC Ginos
3 Dallas 7Eleven
4 Dallas Laser Tag
5 Dallas Starbucks
我想删除少于 3 个场地的每个区域,因为我使用 groupby 获取索引:输入
index_names=question.groupby('Area').count()[question.groupby('Area').count()['Venues']<3].index
index_names
输出
Index(['Miami', 'NYC'], dtype='object', name='Area')
我现在如何删除“区域”对应于 index_names 中存储的值的所有行?我试过这个:
for i in index_names
question.drop(question['Area']==index_names[i].index, inplace=True)
收到以下错误:
File "<ipython-input-113-f64dcfe81656>", line 1
for i in index_names
^
SyntaxError: invalid syntax
解决方案
首先,您错过:
了for
行尾:
for i in index_names:
# ^--- this
其次,您可以使用isin
:
question[~question['Area'].isin(index_names)]
推荐阅读
- ajax - Ajax:POST 请求的空参数
- javascript - Promise 引发“未处理的承诺拒绝”错误的奇怪行为
- python - 多自变量的最佳建模技术
- symfony - 日志实体创建
- android - Google Place 自动完成
- css - 如何根据自定义元素属性设置样式:root
- android -
颤振医生时发表评论--android-licenses -v - ios - 如何在 3 秒后显示新的视图控制器
- python - TypeError: loadshortlink() 为参数“shortlink”获得了多个值
- python - Python3 Sqlite3 - 如何正确转义执行脚本?