Insight to Ptofitc Python 실무 - 파이썬 그룹 기준으로 데이터 통일하기

Python 실무 - 파이썬 그룹 기준으로 데이터 통일하기

2024. 8. 30. 01:231. Data Analyst/1-1. Python

728x90
반응형

pandas 데이터프레임에서 .loc를 활용한 데이터 선택 및 수정

pandas는 데이터 분석과 조작을 위한 강력한 파이썬 라이브러리입니다. 데이터프레임은 pandas의 핵심 데이터 구조로, 테이블 형식의 데이터를 저장하고 처리할 수 있습니다. 데이터프레임에서 특정 행과 열을 선택하거나 수정할 때 유용한 방법 중 하나가 바로 .loc입니다. 이 글에서는 .loc의 사용 방법과 예시를 소개합니다.

.loc 기본 개념

.loc는 pandas 데이터프레임에서 행과 열을 선택하거나 수정할 때 사용하는 인덱서입니다. 구문은 다음과 같습니다:

dataframe.loc[행_인덱스, 열_이름]

 

  • 행_인덱스: 선택하거나 수정할 행의 인덱스를 지정합니다.
  • 열_이름: 선택하거나 수정할 열의 이름을 지정합니다.

 
 


예시 1: 단일 인덱스를 사용한 데이터 수정

먼저, 단일 인덱스를 사용하여 데이터프레임의 특정 행을 선택하고 수정하는 방법을 살펴보겠습니다.

데이터프레임 생성

 

import pandas as pd

# 데이터프레임 생성
data = {
    'Order ID': [1, 2, 3, 4],
    'Sale Date & Time': ['2024-08-01', '2024-08-02', '2024-08-03', '2024-08-04']
}
combined_df = pd.DataFrame(data)
print("Original DataFrame:")
print(combined_df)

 
 
 

단일 인덱스 사용 예시

 
# 인덱스 2의 'Sale Date & Time' 값을 수정
combined_df.loc[2, 'Sale Date & Time'] = '2024-08-05'
print("\nDataFrame after modification:")
print(combined_df)

 
여기서 combined_df.loc[2, 'Sale Date & Time']는 인덱스 2에 해당하는 행의 'Sale Date & Time' 열 값을 '2024-08-05'로 변경했습니다.
 
 
 
 
 


 

예시 2: 그룹화된 인덱스를 사용한 데이터 수정

다음으로, 데이터프레임을 그룹화한 후, 각 그룹의 특정 열을 수정하는 방법을 살펴보겠습니다.

데이터프레임 생성 및 그룹화

 

# 추가 데이터 생성
data = {
    'Order ID': [1, 2, 3, 4, 5, 6],
    'Sale No': ['A', 'A', 'B', 'B', 'C', 'C'],
    'Sale Date & Time': ['2024-08-01', '2024-08-02', '2024-08-03', '2024-08-04', '2024-08-05', '2024-08-06']
}
combined_df = pd.DataFrame(data)

# 'Sale No'를 기준으로 그룹화
grouped = combined_df.groupby('Sale No')
print("Original DataFrame:")
print(combined_df)

 

 

 

그룹화된 인덱스를 사용한 예시

 
 

# 각 그룹의 'Sale Date & Time' 열을 '2024-08-01'로 변경
for sale_no, group in grouped:
    combined_df.loc[group.index, 'Sale Date & Time'] = '2024-08-01'

print("\nDataFrame after modification:")
print(combined_df)

 
 
 
 
 


예시 3: 그룹화된 기준으로 인덱스를 사용한 데이터 통일

다음으로, 데이터프레임을 그룹화한 후, 각 그룹별로 특정 열을 통일하는 방법을 살펴보겠습니다.

데이터프레임 생성 및 그룹화

data = {
    'Order ID': [1, 2, 3, 4, 5, 6],
    'Sale No': ['A', 'A', 'B', 'B', 'C', 'C'],
    'Sale Date & Time': ['2024-08-01', '2024-08-02', '2024-08-03', '2024-08-04', '2024-08-05', '2024-08-06']
}
df = pd.DataFrame(data)

 
 
 
 
 
 
 

그룹화된 인덱스를 사용하여 통일한 예시

 
 
 

# 'Sale No'를 기준으로 그룹화
grouped = df.groupby('Sale No')

# 각 그룹의 첫 번째 날짜를 계산하여 통일
df['Sale Date & Time'] = grouped['Sale Date & Time'].transform('first')

print("\nDataFrame after modification:")
df

 
 
 
 
 
 
 
 
 
 
 
 
 

728x90
반응형