2017-11-15 5 views
2

이전에 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 

또는 컬러로 대체되었다 (AN 하나 "업데이트")의 또 다른 하나의 Pandas .style.applymap() 방법을 사용하는 새로운 가치 (의미)?

도움이 될 것입니다.

답변

2
style = 'color: yellow; background: red; border: 3px solid green' 
funct = lambda d: df_nan.isnull() * style 
df_new.style.apply(funct, None) 

enter image description here

+0

당신은 잘 할 수있다 (- : 난 ... 감사합니다 생각 – piRSquared

+0

감사합니다 그래 내가 한 – piRSquared

+0

을 아름다운 당신이 '없음'을 추가하지 이유를 설명시겠습니까!.! argument를 적용하는 방법? 어쨌든 @piRSquared 매우 감사합니다. 정말 도움이됩니다. – solub

관련 문제