【发布时间】:2021-05-20 05:02:02
【问题描述】:
我使用以下代码来清理我正在处理的数据集,该数据集有两个具有不同平均值的“类型”。代码运行没有错误,但数据框没有更新。
wines = pd.read_csv('winequalityN.csv') #Data import
na_list = wines.isna().sum()
cols_na = na_list[na_list != 0] #Columns that have NA values
means = wines.groupby('type').mean() #Means values for each category grouped by white type (red or white)
# Filling NA values by mean values for red and white
for t in ['red','white']:
for c in cols_na.keys():
wines.loc[wines.type == t, c].fillna(means.loc[t,c], inplace=True)
【问题讨论】:
-
这能回答你的问题吗? Pandas how can 'replace' work after 'loc'?。特别是this answer.
-
几乎,如果我只写类似 wines.loc[wines.type == t, c] = 5 的东西,数据框似乎不会被切片。我认为这与 fillna 有关。
-
谢谢,在您的帮助下解决了!
标签: python pandas dataframe fillna