05_handling_series(apply)
In [1]:
import pandas as pd
from collections import OrderedDict

scientists = pd.read_csv('./data/scientists.csv')
In [2]:
ages = scientists['Age']

print('max: {}'.format(ages.max()))
print("mean: {}".format(ages.mean()))
max: 90
mean: 59.125


boolean 추출

  • 평균나이보다 나이가 많은 사람

모든 데이터에 대해 한 번에 연산하는 것을 Broadcasting이라 함

In [3]:
ages[ages > ages.mean()]
Out[3]:
1    61
2    90
3    66
7    77
Name: Age, dtype: int64


broadcasting

In [4]:
print(pd.Series([1, 100]))

print("\n=================================\n")
print(ages + pd.Series([1, 100]))
0      1
1    100
dtype: int64

=================================

0     38.0
1    161.0
2      NaN
3      NaN
4      NaN
5      NaN
6      NaN
7      NaN
dtype: float64
In [5]:
rev_age = ages.sort_index(ascending=False)
print(rev_age) # index의 역순
7    77
6    41
5    45
4    56
3    66
2    90
1    61
0    37
Name: Age, dtype: int64
In [6]:
print(ages*2)
print("\n=================================\n")

print(ages + ages.sort_index(ascending=False))
0     74
1    122
2    180
3    132
4    112
5     90
6     82
7    154
Name: Age, dtype: int64

=================================

0     74
1    122
2    180
3    132
4    112
5     90
6     82
7    154
Name: Age, dtype: int64

ages * 2ages+ages.sort_index(ascending=False)의 결과값이 동일 벡터와 벡터의 연산은 일치하는 인덱스끼리 값을 수행

In [7]:
from IPython.core.display import HTML, display
display(HTML("<style> .container{width:100% !important;}</style>"))

'pandas > basic' 카테고리의 다른 글

07.handling_dataframe(bool-apply)  (0) 2018.12.09
06.handling_dataframe(bool)  (0) 2018.12.09
04.handling_series(basic)  (0) 2018.12.09
03.create_data_frame  (0) 2018.12.09
02.basic_statistic  (0) 2018.12.09

+ Recent posts