import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
print(df.to_string())
为什么我们用[0]写mode() ?
因为如果多个值具有相同的最大出现次数mode
返回所有值:
#2 times 1 and 2
df = pd.DataFrame({'Calories':[1,1,2,2, 3]})
print (df)
Calories
0 1
1 1
2 2
3 2
4 3
print (df["Calories"].mode())
0 1
1 2
dtype: int64
所以对于第一模式值(标量)使用索引:
print (df["Calories"].mode()[0])
1