판다스의 대표 자료구조인 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을 사용합니다.
'파이썬 (Python) > Pandas (DataFrame)' 카테고리의 다른 글
파이썬 판다스 :: 시리즈 Series 정의 및 생성 / 함수활용, 인덱싱 (0) | 2023.05.23 |
---|---|
파이썬 판다스 :: 데이터프레임 DataFrame 생성, 기본정보 접근 (0) | 2023.05.17 |
파이썬 판다스 :: 데이터프레임 DataFrame 정의 (리스트로 감싸기) (0) | 2023.05.16 |