>RE::VISION CRM

Python데이터분석

파이썬 데이터 분석: 쉽지만 잘들 모르는 유용한 팁 10

YONG_X 2023. 12. 25. 19:01

 

파이썬 데이터 분석: 쉽지만 모르는 사람들이 많은 유용한 팁 10

 

 

파이썬을 사용해서 데이터 분석을 하는 방법들 중에서 쉬운데도 사람들이 많이 알지 못하는 하지만 매우 유용한 팁들 몇가지를 ChatGPT에게 조사해보라 했습니다. ChatGPT를 적절히 활용하면 좀 더 쉽게 그리고 빠르게 데이터 분석 실력을 키울 수 있지 않을까 생각이 됩니다.

 

 

1. 벡터화 사용하기 (Vectorization Over Loops)
NumPy 배열을 사용하여 각 요소를 제곱하는 예입니다. 벡터화 연산은 반복문보다 효율적입니다.


import numpy as np

array = np.array([1, 2, 3, 4, 5])

squared_array = array ** 2

 

2. Pandas Profiling 사용하기

Pandas DataFrame에 대한 탐색적 데이터 분석을 빠르고 쉽게 수행할 수 있습니다.

 

import pandas as pd 

from pandas_profiling import ProfileReport 

df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) 

profile = ProfileReport(df, title="Pandas Profiling Report") 

profile.to_widgets()

 

 

dall-e 3 prompt: A realistic panda bear analyzing data on a computer, in a natural setting, without any text, full wide shape

 

 

3. 리스트 컴프리헨션 사용하기

각 숫자의 제곱을 계산하기 위해 리스트 컴프리헨션을 사용한 예입니다.

 

numbers = [1, 2, 3, 4, 5] 

squared_numbers = [x ** 2 for x in numbers]

 

 

4. @lru_cache로 중간 결과 캐싱하기

피보나치 수열을 계산하는 함수에 @lru_cache를 사용하여 계산 결과를 캐시합니다.

 

from functools import lru_cache

@lru_cache(maxsize=32)

def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)
fib(10)

 

 

5. 정규 표현식 사용하기

정규 표현식을 사용하여 텍스트에서 전화번호 패턴을 찾는 예입니다.


import re text = "My phone number is 123-456-7890." 

pattern = r"\d{3}-\d{3}-\d{4}" 

match = re.search(pattern, text) 

if match: 

   print("Found:", match.group())

 


6. Pandas의 apply 함수 신중하게 사용하기

Pandas DataFrame의 각 요소를 제곱하는 데 apply 함수를 사용한 예입니다. 단, 벡터화된 연산보다 느릴 수 있습니다.

df = pd.DataFrame({"A": [1, 2, 3]}) 

df["B"] = df["A"].apply(lambda x: x**2)

 

 

7. 대화형 시각화 도구 사용하기

Plotly를 사용하여 대화형 라인 차트를 생성하는 예입니다.

import plotly.express as px 

df = pd.DataFrame({"x": [1, 2, 3, 4], "y": [10, 11, 12, 13]}) 

fig = px.line(df, x='x', y='y') 

fig.show()

 

 

8. Datetime 조작하기

문자열을 datetime으로 변환하고 날짜의 일(day) 부분을 추출하는 예입니다.

df = pd.DataFrame({"date": ["2021-01-01", "2021-01-02", "2021-01-03"]}) 

df["date"] = pd.to_datetime(df["date"]) 

df["day"] = df["date"].dt.day

 

 

9. 메모리 최적화하기

제한된 고유 값 집합을 가진 문자열 열을 'category' 타입으로 변환하여 메모리를 절약하는 예입니다.

df = pd.DataFrame({"category": ["apple", "banana", "apple"]}) 

df["category"] = df["category"].astype("category")

 

 

10. Pandas에서 SQL 사용하기
Pandas DataFrame에서 SQL과 유사한 'query' 함수를 사용하여 데이터를 필터링하는 예입니다.


df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) 

result = df.query("A > 1")