Python 실무 - 파이썬 그룹 기준으로 데이터 통일하기
2024. 8. 30. 01:23ㆍ1. 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
반응형
'1. Data Analyst > 1-1. Python' 카테고리의 다른 글
Pandas의 filter() 메서드: 그룹화 후 조건으로 필터링하기 (0) | 2024.09.20 |
---|---|
실무에서 유용한 Pandas 문자열 관련 메서드 10가지와 사용 예시 (0) | 2024.09.20 |
[python 실무] PDF 이미지(PNG)로 전환 - 1초컷 (0) | 2024.07.11 |
[Python 실무] 하위컬럼 불러오기 (0) | 2024.06.29 |
[아나콘다 에러] There is an instance of anaconda navigator already running error 1초만에 해결하기 (0) | 2024.06.21 |