【发布时间】:2022-01-23 03:09:27
【问题描述】:
我有一列,其中包含“都柏林 2”、“都柏林 4”等文字。我需要检查多达 24 个都柏林。
我想做这样的事情:
if df["Postcode"] == "Dublin 2":
df["Popularity"] == 10
elif df["Postcode"] == "Dublin 3":
df["Popularity"] == 3
等
我已经尝试使用条件和 np.select,它可以工作,但对于我拥有的都柏林的数量来说这是不可行的。
conditions = [
df['Dublin Postcode'].str.contains('Dublin 1'),
df['Dublin Postcode'].str.contains('Dublin 2'),
]
values = [10,3]
df['Popularity'] = np.select(conditions, values, default=5)
有没有更聪明的方法让它工作?在这个阶段我看不到树木的树木!
【问题讨论】:
-
我不知道为什么我的代码格式不正确。我希望任何阅读此内容的人都能理解它!
-
我已经编辑了你的代码块。您可以通过单击我的名字上方的
edited xxx ago来查看我所做的更改(选择“并排降价”)。您也可以选择您的代码并在编辑器中按{}符号。 -
最多 24 个都柏林。但在这个问题中,我没有看到其他流行度值。它们是随机的还是包含模式
-
我没有包括其他的人气值,实际值并不重要
-
那么理想情况下,这个问题的最早答案已经在回答它了。你可以接受它或评论它。
标签: python dataframe if-statement conditional-statements