提问人: 提问时间:8/9/2021 最后编辑:Anurag Dabas 更新时间:8/10/2021 访问量:41
如何创建一个新的 pandas 数据帧列,其中包含另一个列的内容,但前提是另一个列满足条件?
How do I create a new pandas dataframe column with the contents of another, but only if the other column meets a condition?
问:
我有这行代码:
df['new_column']=df['price'][df['bathrooms']>=2 and df['bathrooms']<3]
基本上,我想创建一个包含列表价格(来自列价格)的新列,但前提是浴室列包含大于或等于 2 但小于 3 的值。我收到错误
序列的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
如何更正此代码?
谢谢!
答:
0赞
Scott Boston
8/10/2021
#1
你需要适当的parathensis,你不能使用'and'来代替ampsand(&)而使用,请尝试:loc
df['new_column']=df.loc[(df['bathrooms']>=2) & (df['bathrooms']<3), 'price']
0赞
Salio
8/10/2021
#2
您可以使用以下命令: 在 pandas 中查询
df1 =df.query('bathrooms>=2 and bathrooms<3')
df1[['price']]
评论