데이터프레임에서 모든 원소에 대한 로직 적용해서 변경

numpy array apply

데이터프레임에서 모든 원소에 로직 심어서 바꾸기

In [50]:
import numpy as np

array = np.random.randint(5, size=(5,3)) 
array
Out[50]:
array([[2, 1, 0],
       [1, 4, 4],
       [0, 0, 4],
       [4, 3, 4],
       [0, 4, 1]])
In [52]:
np.where(array > 2, 5, 0)
Out[52]:
array([[0, 0, 0],
       [0, 5, 5],
       [0, 0, 5],
       [5, 5, 5],
       [0, 5, 0]])
In [53]:
import pandas as pd

df = pd.DataFrame(array)
In [54]:
df
Out[54]:
0 1 2
0 2 1 0
1 1 4 4
2 0 0 4
3 4 3 4
4 0 4 1
In [58]:
m = {0:'hehe', 1: 'babo', 2: 'sexy', 3:'koko', 4:'fu'}
In [59]:
df.apply(lambda x: x.apply(lambda y : m[y]) , axis=1)
Out[59]:
0 1 2
0 sexy babo hehe
1 babo fu fu
2 hehe hehe fu
3 fu koko fu
4 hehe fu babo

답글 남기기