【发布时间】:2020-02-12 11:43:57
【问题描述】:
我有一个没有缺失数据 (A) 但具有重复值的初始列。如何用缺失的数据填充下一列 (B) 以便填充并且左侧的列在右侧始终具有相同的值?我还希望任何其他列保持不变(C)
例如,这就是我所拥有的
A B C
1 1 20 4
2 2 NaN 8
3 3 NaN 2
4 2 30 9
5 3 40 1
6 1 NaN 3
这就是我想要的
A B C
1 1 20 4
2 2 30* 8
3 3 40* 2
4 2 30 9
5 3 40 1
6 1 20* 3
填充值上的星号。
这需要使用非常大的数据框进行扩展。
另外,如果我在左列有一个值,而在单独的观察中右侧有多个值,我将如何填充平均值?
【问题讨论】:
-
答案很复杂。假设您有大量数据,那么插补取决于数据的类型。虽然,这可以通过编程方式完成,但在此之前您需要对数据进行预分析并检查各种类型的缺失。不需要所有数据。
-
你想要:
df['B'] = df['B'].fillna(df.groupby('A')['B'].transform('mean'))之前有人问过类似的问题,我在这里解释了如何用组的平均值填充缺失的数字:stackoverflow.com/questions/60192232/…