다음은 책 '모두의 딥러닝'의 부록 부분에 해당하는 내용입니다.
모두의 딥러닝 - YES24
2년 연속 베스트셀러, 내용과 소스 코드 전면 업그레이드딥러닝 기초부터 최신 트렌드까지 한 권으로 공부하자그동안 딥러닝 입문서로 제 역할을 톡톡히 해낸 『모두의 딥러닝』이 최근 주목받
www.yes24.com
I. 새로운 열 만들기
# 새로운 열 만들기 실습을 위한 데이터 프레임 만들기
import pandas as pd
df = pd.DataFrame(
{"a":[4, 5, 6, 7],
"b":[8, 9, 10, 11],
"c":[12, 13, 14, 15]},
index=pd.MultiIndex.from_tuples(
[('d', 1), ('d', 2), ('e', 1), ('e', 2)],
names=['n', 'v']))

52. 조건에 맞는 새 열 만들기
df['sum'] = df['a'] + df['b'] + df['c']

53. assign()을 이용해 조건에 맞는 새 열 만들기
# a열, b열, c열의 값을 모두 더해 d열을 만들어 준다.
df = df.assign(multiply=lambda df: df['a']*df['b']*df['c'])

54. 숫자형 데이터를 구간으로 나누기
# a열을 두 개로 나누어 각각 새롭게 레이블을 만들라는 의미이다.
df['qcut'] = pd.qcut(df['a'], 2, labels=["600이하", "600이상"])

55. 기준 값 이하와 이상을 모두 통일시키기
# a열에서 5 이하는 모두 5로, 6 이상은 모두 6으로 변환한다.
df['clip'] = df['a'].clip(lower=5, upper=6)

56. 최댓값 불러오기
df.max(axis=0) # axis=0은 행과 행 비교, axis=1은 열과 열 비교

57. 최솟값 불러오기
df.min(axis=0)

J. 행과 열 변환하기
# 실습을 위해 새로운 데이터를 만든다.
df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},
'B': {0: 1, 1: 3, 2: 5},
'C': {0: 2, 1: 4, 2: 6}})

58. 모든 열을 행으로 변환하기
pd.melt(df)

59. 하나의 열만 행으로 이동시키기
pd.melt(df, id_vars=['A'], value_vars=['B']) # A열만 그대로, B열은 행으로 이동

60. 여러 개의 열을 행으로 이동시키기
# A열만 그대로, B열과 C열은 행으로 이동시킨다.
df_melt = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])

61. 특정 열의 값을 기준으로 새로운 열 만들기
# A열을 새로운 인덱스로 만들고, B열과 C열은 이에 따라 정리한다.
df_pivot = df_melt.pivot(index='A', columns='variable', values='value')

62. 원래 데이터 형태로 되돌리기
df_origin = df_pivot.reset_index() # 인덱스를 리셋한다.
df_origin.columns.name = None # 인덱스 열의 이름을 초기화한다.

K. 시리즈 데이터 연결하기
# 시리즈 데이터 만들기
s1 = pd.Series(['a', 'b'])
s2 = pd.Series(['c', 'd'])


63. 시리즈 데이터 합치기
pd.concat([s1, s2])

64. 데이터를 병합할 때 새로운 인덱스 만들기
pd.concat([s1, s2], ignore_index=True)

65. 계층적 인덱스를 추가하고 열 이름 지정하기
pd.concat([s1, s2],
keys=['s1', 's2'],
names=['Series name', 'Row ID'])

L. 데이터 프레임 연결하기
# 데이터 프레임 병합 실습을 위한 데이터 프레임 1
df1 = pd.DataFrame([['a', 1],
['b', 2]],
columns=['letter', 'number'])
# 데이터 프레임 2
df2 = pd.DataFrame([['c', 3],
['d', 4]],
columns=['letter', 'number'])
# 데이터 프레임 3
df3 = pd.DataFrame([['c', 3, 'cat'],
['d', 4, 'dog']],
columns=['letter', 'number', 'animal'])
# 데이터 프레임 4
df4 = pd.DataFrame([['bird', 'polly'],
['monkey', 'george']],
columns=['animal', 'name'])




66. 데이터 프레임 합치기
pd.concat([df1, df2])

67. 열의 수가 다른 두 데이터 프레임 합치기
pd.concat([df1, df3])

68. 함께 공유하는 열만 합치기
pd.concat([df1, df3], join="inner")

69. 열 이름이 서로 다른 데이터 합치기
pd.concat([df1, df4], axis=1)

'python' 카테고리의 다른 글
텍스트 감성 분석과 이미지 데이터 기반의 이모티콘 추천 시스템 (2) | 2023.09.24 |
---|---|
[pandas] 기초 공부 4주차(M~O) (1) | 2023.03.04 |
[pandas] 기초 공부 2주차(E~H) (0) | 2023.02.15 |
[pandas] 기초 공부 1주차(A~D) (0) | 2023.02.09 |
OpenCV와 Mediapipe를 이용한 가상 그림판 개발 (0) | 2023.01.18 |