【发布时间】:2017-01-07 15:09:04
【问题描述】:
假设我有这张桌子
Type | Killed | Survived
Dog 5 2
Dog 3 4
Cat 1 7
Dog nan 3
cow nan 2
Killed 上的某个值对于 [Type] = Dog 缺失。
我想将[Killed] 中的平均值估算为[Type] = Dog。
我的代码如下:
- 搜索平均值
df[df['Type'] == 'Dog'].mean().round()
这会给我平均值(大约 2.25)
- 估算均值(这是问题开始的地方)
df.loc[(df['Type'] == 'Dog') & (df['Killed'])].fillna(2.25, inplace = True)
代码运行了,但是值没有插补,NaN值还在。
我的问题是,我如何根据[Type] = Dog 估算[Killed] 的平均值。
【问题讨论】:
-
你如何得到
2.25的平均值? -
@shivsn 我也想不通。
-
我假设这只是一个错字或 OP 给出的平均值来自与问题中给出的数据不同的自己的数据。
-
@piRSquared 当我尝试时我很困惑然后发现他也在考虑 nan 值
8/3。 -
@shivsn 我认为可能也是这种情况。那么,你猜 OP 是指 2.66 ~= 2.25 吗?
标签: python pandas indexing nan mean