【发布时间】:2021-04-19 03:57:25
【问题描述】:
我想创建一个新列来分类某个地址是住宅地址还是非住宅地址。
下面是原始数据框中的一列:
| Building_name |
|---|
| Fung Chak House, Choi Wan (II) Estate |
| Princess Margaret Hospital (non-residential) |
如果字符串“non-residential”在 Building_name 中,我会编写下面的代码来创建一个新列,它将被归类为 Non-residential,否则它将被归类为 Residential。
def build_cat(row):
if "(non-residential)" not in district_df['Building_name']:
return ("Residential")
if '(non-residential)' in district_df['Building_name']:
return ('Non_residential')
district_df['Building_category'] = district_df.apply(lambda row: build_cat(row), axis =1)
但是,about 函数将所有内容都返回为 Residential。
| Building_name | Building_cateory |
|---|---|
| Fung Chak House, Choi Wan (II) Estate | Residential |
| Princess Margaret Hospital (non-residential) | Residential |
如果您可以让我知道我的代码有什么问题,或者是否有其他更有效的方法可以获得相同的结果,不胜感激。
谢谢。
【问题讨论】:
标签: python-3.x regex pandas dataframe