pandas (2)

pandas 재 인덱스
from pandas import DataFrame
from pandas import Series

obj = Series([1,2,3,4,5], index=['a','b','c','d','e'])
print obj
"""
     :
a    1
b    2
c    3
d    4
e    5
dtype: int64
"""

obj = obj.reindex(['b','a','c','d','e'])
print obj

"""
     :
b    2
a    1
c    3
d    4
e    5
dtype: int64
"""

다시 색인 이 들 어 오 는 색인 번호 가 원래 색인 에 존재 하지 않 으 면 빈 값 을 가 져 옵 니 다.
obj = obj.reindex(['a','b','c','d','e','f'])
print obj
"""
     :
a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
f    NaN
dtype: float64
"""

우 리 는 이 도입 값 이 무엇 인지 제어 할 수 있 습 니 다. 기본 값 은 NaN 입 니 다. fill 을 통 해value 매개 변수 변경
obj = obj.reindex(['a','b','c','d','e','f','1'], fill_value=0)
print obj
"""
     :
a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
f    NaN
1    0.0
dtype: float64
"""

함수 응용 및 매 핑
frame = DataFrame(np.random.randn(4,3))
f = lambda x: x.max() - x.min()
print frame.apply(f)
"""
     :
0    1.134713
1    1.048039
2    2.054689
dtype: float64
"""

원소 급 Python 함수 도 사용 할 수 있 습 니 다.
frame = DataFrame(np.random(4,3))
print frame
"""
     :
    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
"""
format = lambda x: x+x
print frame.applymap(format)
"""
     :
    0   1   2   3   4
0   0   2   4   6   8
1  10  12  14  16  18
2  20  22  24  26  28
"""

이상 은 lambda 표현 식 뿐만 아니 라 def 함수 도 사용 할 수 있 습 니 다.
정렬 과 순 위 는 우리 가 비교적 자주 사용 하 는 두 가지 조작 이 될 것 이다.
obj = Series(range(4), index=['d', 'a', 'b', 'c'])
print obj.sort_index()
"""
a    1
b    2
c    3
d    0
dtype: int64
"""

DataFrame 을 마주 하면 임의의 축의 색인 에 따라 정렬 할 수 있 습 니 다.
frame = DataFrame(np.arange(8).reshape(2,4), index=['three', 'one'],
                  columns = ['d','a','b','c'])
print frame.sort_index()
"""
     :
       d  a  b  c
one    4  5  6  7
three  0  1  2  3
"""
print frame.sort_index(axis=1)
"""
       a  b  c  d
three  1  2  3  0
one    5  6  7  4
"""

데 이 터 는 기본적으로 오름차 순 으로 정렬 되 지만, 내림차 순 으로 정렬 할 수도 있다.
print frame.sort_index(axis=1, ascending=False)
"""
     :
       d  c  b  a
three  0  3  2  1
one    4  7  6  5
"""

sort_values 방법 은 Series 를 값 에 따라 정렬 할 수 있다
obj = Series([4,7,5,6,2])
print obj.sort_values()
"""
     :
4    2
0    4
2    5
3    6
1    7
dtype: int64
"""

DataFrame 에서 데 이 터 를 이 열 에 따라 정렬 할 열 을 지정 할 수 있 습 니 다.
obj = DataFrame({'a':[1,2,5,4,3],'b':[2,5,4,6,1]})
print obj
print obj.sort_index(by='b')
'''
     :
   a  b
4  3  1
0  1  2
2  5  4
1  2  5
3  4  6
'''

너 도 sortvalues 라 는 방식 은 여러 열 에 따라 정렬 합 니 다.
obj = DataFrame({'a':[1,1,5,4,3],'b':[5,1,4,6,1]})
print obj.sort_values(by=['a','b'])
'''
     :
   a  b
1  1  1
0  1  5
4  3  1
3  4  6
2  5  4
'''

좋은 웹페이지 즐겨찾기