pandas 학습 (1): pandas 데이터 구조의 시리즈
Series 는 클래스 배열 의 데이터 구조 로 태그 (lable) 나 색인 (index) 을 동시에 가지 고 있 습 니 다.
1.1 아래 에 가장 간단 한 Series 대상 을 생 성 합 니 다. Series 에 색인 을 지정 하지 않 았 기 때문에 기본 색인 (0 에서 N - 1) 을 사용 합 니 다.
# Series DataFrame
In [16]: from pandas import Series,DataFrame
In [17]: import pandas as pd
In [18]: ser1 = Series([1,2,3,4])
In [19]: ser1
Out[19]:
0 1
1 2
2 3
3 4
dtype: int64
1.2 지정 한 색인 을 만 드 는 Series 를 만 들 려 면 다음 과 같이 할 수 있 습 니 다.
# index list
In [23]: ser2 = Series(range(4),index = ["a","b","c","d"])
In [24]: ser2
Out[24]:
a 0
b 1
c 2
d 3
dtype: int64
1.3 또한 사전 을 통 해 Series 대상 을 만 들 수 있 습 니 다.
In [45]: sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
In [46]: ser3 = Series(sdata)
# , Series index
In [47]: ser3
Out[47]:
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
dtype: int64
사전 으로 Series 를 생 성 할 때 도 색인 을 지정 할 수 있 습 니 다. 색인 에 해당 하 는 사전 의 값 이 존재 하지 않 을 때 이 색인 의 값 은 Missing, NA 로 표시 되 며 함수 (pandas. isnull, pandas. notnull) 를 통 해 어떤 색인 에 대응 하 는 값 이 없 는 지 확인 할 수 있 습 니 다.
In [48]: states = ['California', 'Ohio', 'Oregon', 'Texas']
In [49]: ser3 = Series(sdata,index = states)
In [50]: ser3
Out[50]:
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64
#
In [51]: pd.isnull(ser3)
Out[51]:
California True
Ohio False
Oregon False
Texas False
dtype: bool
In [52]: pd.notnull(ser3)
Out[52]:
California False
Ohio True
Oregon True
Texas True
dtype: bool
1.4 Series 의 요소 와 색인 에 접근:
# "a"
In [25]: ser2["a"]
Out[25]: 0
# "a","c"
In [26]: ser2[["a","c"]]
Out[26]:
a 0
c 2
dtype: int64
#
In [27]: ser2.values
Out[27]: array([0, 1, 2, 3])
#
In [28]: ser2.index
Out[28]: Index([u'a', u'b', u'c', u'd'], dtype='object')
1.5 단순 연산
pandas 의 Series 에 서 는 NumPy 의 배열 작업 (불 배열 로 데 이 터 를 걸 러 내 고 스칼라 곱셈, 수학 함수 사용) 을 유지 하 며 인용 을 유지 합 니 다.
In [34]: ser2[ser2 > 2]
Out[34]:
a 64
d 3
dtype: int64
In [35]: ser2 * 2
Out[35]:
a 128
b 2
c 4
d 6
dtype: int64
In [36]: np.exp(ser2)
Out[36]:
a 6.235149e+27
b 2.718282e+00
c 7.389056e+00
d 2.008554e+01
dtype: float64
1.6 Series 자동 정렬
Series 의 중요 한 기능 중 하 나 는 바로 자동 으로 정렬 하 는 것 이다. 예 를 보면 알 수 있다.차이 가 많 지 않 은 것 은 서로 다른 Series 대상 이 연산 할 때 색인 에 따라 일치 하 는 계산 을 하 는 것 이다.
# ser3
In [60]: ser3
Out[60]:
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
dtype: int64
# ser4
In [61]: ser4
Out[61]:
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64
#
In [62]: ser3 + ser4
Out[62]:
California NaN
Ohio 70000.0
Oregon 32000.0
Texas 142000.0
Utah NaN
dtype: float64
1.7 명명
Series 대상 자체 및 색인 모두 name 속성 이 있 습 니 다.
In [64]: ser4.index.name = "state"
In [65]: ser4.name = "population"
In [66]: ser4
Out[66]:
state
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
Name: population, dtype: float64
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.