pandas 如何删除一列中的nan如果另一列中的条件满足

vof42yt1  于 2023-04-28  发布在  其他
关注(0)|答案(2)|浏览(144)

我有一个包含许多列的数据框,如果另一列“Sheet”值为Gdg,则我希望删除列“Course”中具有空值的行

Course    Sheet_Name
Nan        Gdg
course 1   Gdg
course 2   ret
nan        ret

结果列应为

Course   Sheet_Name
course 1   Gdg
course 2   ret
nan        ret

这是我正在使用的代码

USS_2023 = USS_2023.drop(USS_2023[(USS_2023['Courses'] == np.nan) & [USS_2023['Sheet_Name']=='Gdg']].index)

这是我得到的错误

ValueError: setting an array element with a sequence.
nbysray5

nbysray51#

使用pandas.DataFrame.drop函数:

df.drop(df[df.Course.isna() & df.Sheet_Name.eq('Gdg')].index, inplace=True)
Course Sheet_Name
1  course 1        Gdg
2  course 2        ret
3       NaN        ret
6kkfgxo0

6kkfgxo02#

您可以:

USS_2023[~(USS_2023['Sheet_Name'].eq('Gdg') & USS_2023['Course'].isna())]

相关问题