판다 시리즈를 마스터하기위한 20 가지 예
Pandas의 핵심 데이터 구조

Pandas는 Python을위한 매우 인기있는 데이터 분석 및 조작 라이브러리입니다.데이터를 표 형식으로 처리 할 수있는 다양하고 강력한 기능을 제공합니다.
Pandas의 두 가지 핵심 데이터 구조는 DataFrame과 Series입니다.DataFrame은 레이블이있는 행과 열이있는 2 차원 구조입니다.SQL 테이블과 유사합니다.시리즈는 레이블이 지정된 1 차원 배열입니다.시리즈의 값 레이블을 인덱스라고합니다.DataFrame과 Series는 모든 데이터 유형을 저장할 수 있습니다.
이 기사에서는 시리즈에서 수행 할 수있는 다양한 작업을 보여주는 20 개의 예제를 살펴 보겠습니다.
먼저 라이브러리를 가져온 다음 예제부터 시작하겠습니다.
numpy를 np로 가져 오기
팬더를 pd로 가져 오기
1. DataFrame is composed of Series
DataFrame의 개별 행 또는 열은 시리즈입니다.
왼쪽의 DataFrame을 고려하십시오.특정 행이나 열을 선택하면 반환되는 데이터 구조는 시리즈입니다.
a = df.iloc [0, :]
인쇄 (유형 (a))
pandas.core.series.Seriesb = df [0]
유형 (b)
pandas.core.series.Series
2. Series consists of values and index
시리즈는 레이블이있는 배열입니다.인덱스라고하는 값과 레이블에 액세스 할 수 있습니다.
ser = pd.Series ([ 'a', 'b', 'c', 'd', 'e'])print (ser.index)
RangeIndex (시작 = 0, 중지 = 5, 단계 = 1)print (ser.values)
['에이 비 씨 디이']
3. Index can be customized
이전 예에서 볼 수 있듯이 0부터 시작하는 정수 인덱스는 기본적으로 Series에 할당됩니다.그러나 index 매개 변수를 사용하여 변경할 수 있습니다.
ser = pd.Series ([ 'a', 'b', 'c', 'd', 'e'], 인덱스 = [10,20,30,40,50])print (ser.index)
Int64Index ([10, 20, 30, 40, 50], dtype = 'int64')
4. Series from a list
우리는 이미 이전 예제에서 이것을 보았습니다.목록을 Series 함수에 전달하여 Series를 만들 수 있습니다.
list_a = [ '데이터', '과학', '기계', '학습']ser = pd.Series (list_a)유형 (ser)
pandas.core.series.Series
5. Series from a NumPy array
시리즈를 만드는 또 다른 일반적인 방법은 NumPy 배열을 사용하는 것입니다.목록에서 만드는 것과 같습니다.Series 함수에 전달 된 데이터 만 변경합니다.
arr = np.random.randint (0, 10, 크기 = 50)ser = pd.Series (arr)
6. Accessing individual values
시리즈에는 레이블이 지정된 항목이 포함되어 있으므로 레이블 (즉, 색인)을 사용하여 특정 항목에 액세스 할 수 있습니다.
ser = pd.Series ([ 'a', 'b', 'c', 'd', 'e'])인쇄 (ser [0])
ㅏ인쇄 (ser [2])
씨
7. Slicing a Series
인덱스를 사용하여 Series를 분할 할 수도 있습니다.
ser = pd.Series ([ 'a', 'b', 'c', 'd', 'e'])print (ser [: 3])
0 a
1b
2 개 c
dtype : 개체
print (ser [2 :])
2 개 c
3 일
4 e
dtype : 개체
8. Data types
Pandas는 Series를 만들 때 적절한 데이터 유형을 할당합니다.dtype 매개 변수를 사용하여 변경할 수 있습니다.물론 적절한 데이터 유형을 선택해야합니다.
ser1 = pd.Series ([1,2,3,4,5])
인쇄 (ser1)
0 1
1 2
2 3
3 4
4 5
dtype : int64
ser2 = pd.Series ([1,2,3,4,5], dtype = 'float')
0 1.0
1 2.0
2 3.0
3 4.0
4 5.0
dtype : float64
9. Number of items in a Series
시리즈의 값 수를 계산하는 방법에는 여러 가지가 있습니다.컬렉션이기 때문에 파이썬에 내장 된 len 함수를 사용할 수 있습니다.
ser = pd.Series ([1,2,3,4,5])len (ser)
5
Pandas의 크기 및 모양 기능을 사용할 수도 있습니다.
ser.size
5ser.shape
(5,)
shape 함수는 각 차원의 크기를 반환합니다.Series는 1 차원이므로 shape 함수에서 길이를 얻습니다.Size는 Series 또는 DataFrame의 전체 크기를 반환합니다.DataFrame에서 사용되는 경우 size는 행과 열 수의 곱을 반환합니다.
10. 독특하고 Nunique
unique 및 nunique 함수는 각각 고유 값과 고유 값 수를 반환합니다.
ser = pd.Series ([ 'a', 'a', 'a', 'b', 'b', 'c'])ser.unique ()
배열 ([ 'a', 'b', 'c'], dtype = object)ser.nunique ()
삼
11. Largest and smallest values
nlargest 및 nsmallest 함수는 Series에서 가장 큰 값과 가장 작은 값을 반환합니다.기본적으로 5 개의 가장 큰 값 또는 가장 작은 값을 얻지 만 n 매개 변수를 사용하여 변경할 수 있습니다.
ser = pd.Series (np.random.random (size = 500))ser.nlargest (n = 3)
292 0.997681
236 0.997140
490 0.996117
dtype : float64ser.nsmallest (n = 2)
157 0.001499
140 0.002313
dtype : float64
12. Series from a dictionary
시리즈 함수에 사전을 전달하면 반환 된 시리즈에는 사전 값이 포함됩니다.색인은 사전의 키입니다.
dict_a = { 'a': 1, 'b': 2, 'c': 8, 'd': 5}pd. 시리즈 (dict_a)
a 1
b 2
c 8
d 5
dtype : int64
13. Converting data type
시리즈를 생성 할 때 데이터 유형을 선택할 수있는 옵션이 있습니다.Pandas는 나중에 데이터 유형을 변경할 수도 있습니다.
예를 들어, 다음 시리즈는 정수를 포함하지만 dtype 객체로 저장됩니다.astype 함수를 사용하여 정수로 변환 할 수 있습니다.
ser = pd.Series ([ '1', '2', '3', '4'])ser
0 1
1 2
2 3
3 4
dtype : 개체ser.astype ( 'int')
0 1
1 2
2 3
3 4
dtype : int64
14. Number of occurrences of values
value_counts 함수는 Series에서 각 고유 값의 발생 횟수를 반환합니다.값 분포에 대한 개요를 얻는 것이 유용합니다.
ser = pd.Series ([ 'a', 'a', 'a', 'b', 'b', 'c'])ser.value_counts ()
3
b 2
c 1
dtype : int64
15. From series to list
목록에서 시리즈를 만들 수있는 것처럼 시리즈를 목록으로 변환 할 수 있습니다.
ser = pd.Series (np.random.randint (10, 크기 = 10))ser.to_list ()
[8, 9, 0, 0, 7, 1, 8, 6, 0, 8]
16. Null values
시리즈에 누락 된 값이있을 가능성이 있습니다.Pandas를 사용하면 누락 된 값을 감지하고 처리하는 것이 매우 간단합니다.
예를 들어, count 함수는 계열에서 결 측값이 아닌 값의 수를 반환합니다.
ser = pd.Series ([1, 2, 3, np.nan, np.nan])ser.count ()
삼
17. Null values — 2
결 측값을 감지하는 또 다른 방법은 isna 함수입니다.True로 누락 된 값을 나타내는 부울 값이있는 Series를 반환합니다.
ser = pd.Series ([1, 2, 3, np.nan, np.nan])ser.isna ()
0 거짓
1 거짓
2 거짓
3 참
4 참
dtype : 부울
합계 함수를 isna 함수와 연결하여 누락 된 값의 수를 계산할 수 있습니다.
ser.isna (). sum ()
2
18. Rounding up floating point numbers
데이터 분석에서 우리는 숫자 값을 가질 가능성이 가장 높습니다.Pandas는 숫자 데이터를 조작 할 수있는 능력이 뛰어납니다.예를 들어, round 함수를 사용하면 부동 소수점 숫자를 특정 소수점까지 반올림 할 수 있습니다.
다음 시리즈를 고려하십시오.
ser
0 0.349425
1 0.552831
2 0.104823
3 0.899308
4 0.825984
dtype : float64
round 함수가 사용되는 방법은 다음과 같습니다.
ser.round (2)
0 0.35
1 0.55
2 0.10
3 0.90
4 0.83
dtype : float64
19. Logical operators
같음, 작음 또는보다 큼과 같은 논리 연산자를 Series에 적용 할 수 있습니다.True로 지정된 조건에 맞는 값을 나타내는 부울 값이있는 Series를 반환합니다.
ser = pd.Series ([1, 2, 3, 4])ser.eq (3)
0 거짓
1 거짓
2 참
3 거짓
dtype : 부울ser.gt (2)
0 거짓
1 거짓
2 참
3 참
dtype : 부울
논리 연산자의 전체 목록 :
- lt : 이하
- le : 작거나 같음
- gt :보다 큼
- ge : 크거나 같음
- eq : 같음
- ne : 같지 않음
20. 데이터 집계
평균, 합계, 중앙값 등과 같은 집계 함수를 시리즈에 적용 할 수 있습니다.시리즈에 별도로 적용하는 한 가지 방법입니다.
ser = pd.Series ([1, 2, 3, 4, 10])ser.mean ()
4
여러 집계 함수를 적용해야하는 경우 더 나은 방법이 있습니다.목록에서 agg 함수에 전달할 수 있습니다.
ser.agg ([ '평균', 'median', 'sum', 'count'])평균 4.0
중앙값 3.0
합계 20.0
카운트 5.0
dtype : float64
Conclusion
우리는 Series의 속성과 그것과 상호 작용하는 기능을 보여주는 20 개의 예제를 만들었습니다.DataFrame은 Series로 구성되어 있으므로 DataFrame만큼 중요합니다.
이 기사의 예제는 Series에서 일반적으로 사용되는 많은 데이터 작업을 다룹니다.물론 시리즈에서 사용할 수있는 더 많은 기능과 방법이 있습니다.필요에 따라 더 고급 또는 세부 작업을 배울 수 있습니다.
읽어 주셔서 감사합니다.의견이 있으면 알려주세요.