[英]How can I replace NaN value with mean in a Pandas dataframe?
I have a dataframe to fill NaN value as follows: 我有一个数据框来填充NaN值,如下所示:
Category Rating
ART_AND_DESIGN 4.4
AUTO_AND_VEHICLES 4.2
BEAUTY 4.3
BOOKS_AND_REFERENCE 4.3
BUSINESS 4.1
COMICS 4.2
COMMUNICATION 4.2
DATING 4.0
EDUCATION 4.4
I intend to replace the following NaN value with the above Rating based on their Categories. 我打算根据其类别将以下NaN值替换为上述Rating。
App Category Rating
A DATING NaN (4.0)
B BEAUTY NaN (4.3)
C BUSINESS NaN (4.1)
eg Since the dating category has rating 4.0, app A should be filled with 4.0. 例如,由于约会类别的评分为4.0,因此应用A应填写4.0。
Use df1
after set_index
to Category
and map
the df2['Category']
with df1['Rating']
as: 在
set_index
之后使用df1
来Category
,并将df2['Category']
与df1['Rating']
map
为:
df1.set_index('Category',inplace=True)
df2['Rating'] = df2['Category'].map(df1['Rating'])
Or using replace
: 或使用
replace
:
df2['Rating'] = df2['Category'].replace(df1['Rating'])
print(df2)
App Category Rating
0 A DATING 4.0
1 B BEAUTY 4.3
2 C BUSINESS 4.1
Before mapping the dataframes are: 映射数据帧之前:
print(df1)
Rating
Category
ART_AND_DESIGN 4.4
AUTO_AND_VEHICLES 4.2
BEAUTY 4.3
BOOKS_AND_REFERENCE 4.3
BUSINESS 4.1
COMICS 4.2
COMMUNICATION 4.2
DATING 4.0
EDUCATION 4.4
print(df2)
App Category Rating
0 A DATING NaN
1 B BEAUTY NaN
2 C BUSINESS NaN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.