我想在以前是NaN的DataFrame中突出显示(或上色)新值。
我有2个具有相同索引的数据框。
与NaN一起
df_nan = pd.DataFrame(np.random.randint(10, size = (10, 10))).replace(8, np.nan)
df_nan
0 1 2 3 4 5 6 7 8 9
0 NaN NaN 7 0 0 0.0 0 6 2.0 4.0
1 6.0 3.0 7 1 0 5.0 3 5 NaN 7.0
2 5.0 6.0 0 1 0 NaN 2 4 4.0 7.0
3 NaN 2.0 6 3 1 4.0 9 0 5.0 3.0
4 9.0 0.0 5 2 2 5.0 6 0 9.0 1.0
5 9.0 4.0 0 2 3 9.0 2 9 3.0 4.0
6 4.0 4.0 9 6 7 1.0 7 9 5.0 NaN
7 0.0 NaN 9 2 0 5.0 7 6 3.0 NaN
8 9.0 9.0 0 0 4 6.0 3 3 1.0 7.0
9 3.0 6.0 3 2 7 1.0 6 5 2.0 9.0
另一个(“更新的”值),其中NaN已被新值替换(每列的平均值)
df_new = df_nan.replace(np.nan, np.mean(df_nan))
df_new
0 1 2 3 4 5 6 7 8 9
0 5.62 4.25 7 0 0 0.0 0 6 2.00 4.00
1 6.00 3.00 7 1 0 5.0 3 5 3.77 7.00
2 5.00 6.00 0 1 0 4.0 2 4 4.00 7.00
3 5.62 2.00 6 3 1 4.0 9 0 5.00 3.00
4 9.00 0.00 5 2 2 5.0 6 0 9.00 1.00
5 9.00 4.00 0 2 3 9.0 2 9 3.00 4.00
6 4.00 4.00 9 6 7 1.0 7 9 5.00 5.25
7 0.00 4.25 9 2 0 5.0 7 6 3.00 5.25
8 9.00 9.00 0 0 4 6.0 3 3 1.00 7.00
9 3.00 6.00 3 2 7 1.0 6 5 2.00 9.00
如何使用Pandas
.style
和.applymap()
方法突出显示或着色新值(平均值)?任何帮助将非常感激 !
最佳答案
style = 'color: yellow; background: red; border: 3px solid green'
funct = lambda d: df_nan.isnull() * style
df_new.style.apply(funct, None)
关于python - 如何使用Pandas为数据框中的新添加的值着色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47297293/