다음은 책 '모두의 딥러닝'의 부록 부분에 해당하는 내용입니다.

 

모두의 딥러닝 - 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'])

실행 결과(s1)
실행 결과(s2)

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'])

실행 결과(df1)
실행 결과(df2)
실행 결과(df3)
실행 결과(df4)

66. 데이터 프레임 합치기

pd.concat([df1, df2])

실행 결과

67. 열의 수가 다른 두 데이터 프레임 합치기

pd.concat([df1, df3])

실행 결과

68. 함께 공유하는 열만 합치기

pd.concat([df1, df3], join="inner")

실행 결과

69. 열 이름이 서로 다른 데이터 합치기

pd.concat([df1, df4], axis=1)

실행 결과

+ Recent posts