파이썬 (Python)/Pandas (DataFrame)

파이썬 판다스 :: 데이터프레임 DataFrame 데이터 접근, 조작

옐루비(YellowBee) 2023. 5. 17. 14:30

판다스의 대표 자료구조인 DataFrame의 데이터 접근 및 조작 방법에 대해 알아보고자합니다.

DataFrame의 데이터 접근

DataFrame에서 데이터에 접근하고 조작하는 함수들은 아래와 같습니다.

data = {'Name': ['John', 'Alice', 'Kate'],  # 'Name' 컬럼
        'Age': [25, 28, 32],  # 'Age' 컬럼
        'City': ['New York', 'London', 'Paris']}  # 'City' 컬럼
df = pd.DataFrame(data)  # DataFrame 생성

# 특정 컬럼의 값 확인
df['Column_Name']

# 특정 행의 값 확인
df.loc[row_label]

# 특정 행과 열의 값 확인
df.loc[row_label, 'Column_Name']

# 조건에 맞는 행 필터링
df[df['Column_Name'] > value]

# 조건에 맞는 행과 특정 컬럼 필터링
df.loc[df['Column_Name'] > value, 'Column_Name']

# DataFrame의 일부분 선택
df.iloc[row_index, column_index]

# DataFrame의 값 변경
df.loc[row_label, 'Column_Name'] = new_value

컬럼 데이터 접근

names = df['Name']  # 'Name' 컬럼 데이터 가져오기
ages = df.Age  # 'Age' 컬럼 데이터 가져오기 (속성 접근 방식)

특정 행과 셀 데이터 접근

# 특정 행 데이터 접근
row_0 = df.loc[0]  # 인덱스가 0인 행 데이터 가져오기
row_1_2 = df.loc[1:2]  # 인덱스가 1부터 2까지인 행 데이터 가져오기

# 특정 셀 데이터 접근
cell_0_1 = df.loc[0, 'Age']  # 인덱스가 0인 행, 'Age' 컬럼의 데이터 가져오기
cell_1_2 = df.loc[1, 'City']  # 인덱스가 1인 행, 'City' 컬럼의 데이터 가져오기

조건에 맞는 데이터 필터링

filtered_df = df[df['Age'] > 25]  # 'Age' 컬럼이 25보다 큰 행 데이터 필터링

컬럼 추가

df['Salary'] = [5000, 6000, 7000]  # 'Salary' 컬럼 추가

데이터 변경, 삭제, 정렬

# 데이터 변경
df.loc[0, 'City'] = 'Los Angeles'  # 인덱스가 0인 행, 'City' 컬럼 데이터 변경
df['Age'] = df['Age'] + 1  # 'Age' 컬럼의 모든 데이터에 1을 더하기

# 데이터 삭제
df.drop(1, inplace=True)  # 인덱스가 1인 행 삭제 (inplace=True는 원본 DataFrame을 변경)

# 데이터 정렬
df.sort_values('Age', inplace=True)  # 'Age' 컬럼을 기준으로 오름차순 정렬

다양한 함수를 이용해 DataFrame을 생성하고 데이터에 접근하여 필요한 값을 가져오거나 변경이 가능합니다.

컬럼 데이터에 접근할 때는 [ ]나 속성 접근 방식을 사용하며, 특정 행이나 셀의 데이터에는 loc을 사용합니다.