我的数据集中有两列。一个是州,另一个是城市。状态列中没有NaN
值。但是在“城市”列中,存在太多的NaN
值。
假设我有一个状态数据点的值是“华盛顿”,而在城市的同一行NaN
中。我想用NaN
Seattle
city 个值
我该怎么做?
答案 0 :(得分:0)
假设您的数据集名称为df
您需要做的第一件事是找到具有状态的数据为华盛顿,并使用fillna()
方法填充数据并将其存储到某个变量中(比方说)
fill= df.loc[df['state']=='Washington'].fillna(method='ffill')
下一步,您将再次在原始数据框中使用fillna()
方法,将所有具有 state 的值填充为华盛顿
df.fillna(value=fill)
希望这个答案有帮助:}
答案 1 :(得分:0)
假设df
STATE CITY
0 StateA CityA
1 StateB CityB
2 StateA NaN
3 StateB NaN
根据默认的州/市填充df
mapping = {"StateA": "city of state A","StateB": "city of state B"} #state default city mapping
df['CITY'] = df['STATE'].combine(df['CITY'], lambda state,city : mapping[state] if pd.isnull(city) else city)
输出:
STATE CITY
0 StateA CityA
1 StateB CityB
2 StateA city of state A
3 StateB city of state B