首页 > 解决方案 > 使用条件(pandas DataFrame)估算缺失值字符串

问题描述

Kaggle 数据集(工作中)- 纽约 Airbnb

使用原始数据代码创建,以便更好地解释问题

`airbnb= pd.read_csv("https://raw.githubusercontent.com/rafagarciac/Airbnb_NYC-Data-Science_Project/master/input/new-york-city-airbnb-open-data/AB_NYC_2019.csv")

airbnb[airbnb["host_name"].isnull()][["host_name","neighbourhood_group"]]

`数据框

我想根据“neighbourhood_group”列实体填充“host_name”的空值。喜欢

if airbnb['host_name'].isnull():
   airbnb["neighbourhood_group"]=="Bronx"
   airbnb["host_name"]= "Vie"

elif:
        airbnb["neighbourhood_group"]=="Manhattan"
        airbnb["host_name"]= "Sonder (NYC)"
    else:
        airbnb["host_name"]= "Michael"

(这是错误的,只是为了代表我想要的输出格式)

我尝试过使用 if 语句,但我无法以正确的方式应用。你能不能请我解决这个问题。

谢谢

标签: pythonpandasdata-cleaning

解决方案


你可以试试这个——

airbnb.loc[(airbnb['host_name'].isnull()) & (airbnb["neighbourhood_group"]=="Bronx"), "host_name"] = "Vie"
airbnb.loc[(airbnb['host_name'].isnull()) & (airbnb["neighbourhood_group"]=="Manhattan"), "host_name"] = "Sonder (NYC)"
airbnb.loc[airbnb['host_name'].isnull(), "host_name"] = "Michael"

推荐阅读