如何从 pandas 数据框中选定的列中删除多行?

问题描述 投票:0回答:1

我有一个与奥林匹克运动相关的数据框,以及国家比赛和获得的奖牌数量/排名等。我的运动列表包括夏季和冬季运动会运动,我想创建一个仅显示夏季运动的新数据框.

所以,我有一个要从“运动”列中删除的行列表,包括“无舵雪橇”,“速度滑冰”,“冰壶”等。这个列表中有很多项目,我有使用 axis=0 尝试了 drop() 函数的各种方法,但我找不到剪切这些行的方法(我在两个参数等方面遇到错误)

如有任何建议,我们将不胜感激!

我尝试过各种方法,包括:

newdf=df.drop("luge", "curling", "speed skating", "skeleton bob", "ski jump", "cross country skiing", "bobsleigh", axis = 0, inplace=True)

并且:

newdf=df.drop(["sport":"luge", "curling", "speed skating", "skeleton bob", "ski jump", "cross country skiing", "bobsleigh"], axis = 0, inplace=True)
python pandas dataframe row drop
1个回答
1
投票
import pandas as pd
sport_data = ["luge", "curling", "speed skating", "skeleton bob", "ski jump", "cross country skiing", "bobsleigh"]
exclude = ["luge", "speed skating", "curling"]
df=pd.DataFrame({"Sport":sport_data, "Number":list(range(len(sport_data)))})
df = df[df["Sport"].isin(exclude) == False]

输入:

运动 数量
无舵雪橇 0
冰壶 1
速度滑冰 2
骷髅鲍勃 3
跳台滑雪 4
越野滑雪 5
有舵雪橇 6

输出:

运动 数量
骷髅鲍勃 3
跳台滑雪 4
越野滑雪 5
有舵雪橇 6
© www.soinside.com 2019 - 2024. All rights reserved.