판다스 기초 Series의 속성과 기능 2

dpwl·2024년 6월 18일

Data Analysis with Python

목록 보기
5/48

2. 시리즈의 기능

2.8 idxmax() & idxmin()

idxmax() 메서드는 시리즈에서 최대값을 가진 첫 번째 항목의 인덱스를 반환하며, idxmin() 메서드는 시리즈에서 최소값을 가진 첫 번째 항목의 인덱스를 반환한다.

Series.idxmax()
Series.idxmin()

반환값(Returns): 최대값 또는 최소값을 가진 항목의 인덱스

예시:

import pandas as pd

# 시리즈 생성
s = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])

# 최대값과 최소값을 가진 항목의 인덱스 찾기
max_index = s.idxmax()
min_index = s.idxmin()

print("최대값을 가진 항목의 인덱스:", max_index)
print("최소값을 가진 항목의 인덱스:", min_index)

# 결과값:
# 최대값을 가진 항목의 인덱스: e
# 최소값을 가진 항목의 인덱스: a

2.9 mean() & median() & mode()

  • mean() 메서드는 시리즈의 평균값을 반환한다.
  • median() 메서드는 시리즈의 중앙값을 반환한다.
  • mode() 메서드는 시리즈의 최빈값(가장 자주 나타나는 값)을 반환한다.
Series.mean()
Series.median()
Series.mode()

반환값(Returns): 평균값, 중앙값 또는 최빈값

예시:

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5, 5, 6, 7, 8, 9])

print("평균값:", s.mean())
print("중앙값:", s.median())
print("최빈값:", s.mode())

# 출력 결과:
# 평균값: 4.9
# 중앙값: 5.0
# 최빈값:
# 0    5
# dtype: int64

2.10 sum()

sum() 메서드는 시리즈 내의 모든 원소들의 합을 반환한다.

Series.sum()

반환값(Returns): 시리즈 내 원소들의 합

예시:

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

print("시리즈의 합:", s.sum())

# 출력 결과:
# 시리즈의 합: 15

2.11 isin(values)

isin(values) 메서드는 시리즈의 각 원소가 주어진 리스트에 포함되는지 여부를 불리언 값으로 반환한다.

Series.isin(values)

매개변수(Parameters):

  • values: 검사할 값들의 리스트나 집합(set)

반환값(Returns): 원소가 주어진 값들 중 하나에 속하면 True, 아니면 False로 이루어진 불리언 시리즈

예시:

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

values = [2, 4, 6]
result = s.isin(values)
print(result)

# 출력 결과:
# 0    False
# 1     True
# 2    False
# 3     True
# 4    False
# dtype: bool

2.12 apply(function)

apply() 함수는 시리즈의 각 요소에 함수를 적용하여 새로운 값을 생성하는데 사용된다. 주어진 함수를 시리즈의 각 요소에 적용하고 그 결과를 새로운 시리즈로 반환한다.

Series.apply(func, convert_dtype=True, args=(),, **kwargs)

매개변수(Parameters):

  • func: function (시리즈에 적용할 함수)

  • convert_dtype: 부울(bool), 기본값 True

    • 결과 시리즈의 데이터 유형을 변환할지 여부를 결정하는 부울 값
  • args: tuple (함수에 전달할 추가적인 위치 인수)

  • **kwargs: (함수에 전달할 추가적인 키워드 인수)

변환값(Returns): 결과로 생성된 새로운 시리즈 또는 데이터프레임

예시:

import pandas as pd

# 시리즈 생성
s = pd.Series([1, 2, 3, 4, 5])

# 각 요소에 제곱 함수를 적용하여 새로운 시리즈 생성
result = s.apply(lambda x: x ** 2)
print(result)

# 출력 결과:
# 0     1
# 1     4
# 2     9
# 3    16
# 4    25
# dtype: int64

2.13 str

str은 string(문자열)의 약어로, 시리즈의 속성에 접근할 수 있는 접근자(accessor)이다. 이 접근자를 사용하여 문자열 메서드를 호출할 수 있다. 예를 들어, 문자열을 소문자로 변환하거나 특정 패턴을 찾는 등의 문자열 관련 작업을 수행할 수 있다.

str 접근자는 다양한 문자열 메서드에 접근할 수 있으며, 이를 사용하여 시리즈의 각 문자열 요소에 대해 작업을 수행할 수 있다. 이 접근자를 사용하면 문자열 데이터를 다루는 데 유용한 기능들을 쉽게 활용할 수 있다.

import pandas as pd

# 문자열로 이루어진 시리즈 생성
s = pd.Series(['apple', 'banana', 'cherry', 'date'])

# 각 문자열의 길이 계산
lengths = s.str.len()
print(lengths)
# 출력 결과:
# 0    5
# 1    6
# 2    6
# 3    4
# dtype: int64

# 각 문자열을 대문자로 변환
uppercase = s.str.upper()
print(uppercase)
# 출력 결과:
# 0     APPLE
# 1    BANANA
# 2    CHERRY
# 3      DATE
# dtype: object

2.14 str.contains()

str.contains() 메서드는 시리즈의 각 문자열 요소에 대해 주어진 패턴이 포함되어 있는지 여부를 확인한다. 이 메서드는 패턴이 포함되어 있는지에 따라 불리언 값으로 이루어진 시리즈를 반환한다.

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)

매개변수(Parameters):

  • pat(pattern): str
    • 포함 여부를 확인할 패턴
  • case: 불리언(bool), 기본값 True
    • 대소문자를 구분할지 여부를 결정하는 불리언 값
    • 기본값은 True로 대소문자 구분
  • flags: 정수(int), 기본값 0 (no flags)
    • 정규 표현식을 사용할 때의 플래그를 지정
    • 기본값은 0으로 특별한 flag를 사용하지 않음을 나타냄
  • na: scalar (옵션)
    • 결측값을 처리하는 방법을 지정
    • 기본값은 None으로 결측값은 무시됨
  • regex (regular expression): 불리언(bool), 기본값 True
    • 패턴을 정규 표현식으로 해석할지 여부를 결정하는 불리언 값
    • 기본값은 True로 패턴을 정규 표현식으로 해석

반환값(Returns):

  • 패턴이 포함되어 있는지에 따라 불리언 값으로 이루어진 시리즈를 반환
  • 만약 패턴이 포함되어 있으면 해당 요소는 True로 표시되고, 그렇지 않으면 False로 표시

예시:

import pandas as pd

# 시리즈 생성
s = pd.Series(['apple', 'banana', 'cherry', 'date'])

# 'a'를 포함하는 문자열 확인
contains_a = s.str.contains('a')
print(contains_a)
# 출력 결과:
# 0     True
# 1     True
# 2    False
# 3     True
# dtype: bool
profile
거북선통통통통

0개의 댓글