如何删除满足特定条件的行?

15 浏览
0 Comments

如何删除满足特定条件的行?

这个问题已经在这里有了答案:

Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

我想从电影表中删除\'收入\'= 0或\'预算\'=0的行,所以我尝试了这段代码。

movies[(movies['revenue'] == 0) or (movies['Budget'] == 0)]

然后,我得到了一个值错误

所以我也尝试了这个代码

columns = ['budget', 'revenue']
df = movies.replace(0, pd.np.nan).dropna(axis=0, how='any', subset = columns).fillna(0).astype(int)

还有一个未来警告“pandas.np模块已经过时,并将在未来的版本中从Pandas中删除。直接导入numpy即可。”加上值错误跟踪

admin 更改状态以发布 2023年5月21日
0
0 Comments

你需要更改下面的代码行 -\n

drop_idx = movies[(movies['revenue'] == 0) or (movies['Budget'] == 0)].index

\n到\n

drop_idx = movies[(movies['revenue'] == 0) | (movies['Budget'] == 0)].index

\n一旦你有了删除索引的凭据,你可以使用drop删除索引\n

movies = movies.drop(index=drop_idx)

0
0 Comments

尝试使用按位或运算符|

new = movies[(movies['revenue'] != 0) | (movies['budget'] != 0)]  

该代码将创建一个新的df,其中包含非零列或非零预算的行。

请注意,!=表示不等于。如果需要了解更多有关运算符的信息,推荐使用此链接:https://www.w3schools.com/python/python_operators.asp

0