빅데이터 분석기사/작업 유형 1 (pd)

다양한 데이터 프레임 구조 조작 5/11

유방울 2023. 5. 4. 04:27

# [2-36] korea 정보 중에서 대륙 정보를 제거합니다.
# 대입하지 않아서 반영되지 않음
korea.drop('대륙', axis = 1)
# [2-32] 국가별 주류 소비량 합계(맥주, 증류주, 와인의 합)를 구해 봅니다.
# sum()이라는 메서드
df.set_index('국가')[['맥주','증류주','와인']].sum(axis=1)
# [2-33] df를 ['대륙', '국가']를 index로 지정하고, 대륙별, 국가명으로  정렬하여 df로 저장합니다.
# 저장은 df = 필요함
df = df.set_index(['대륙','국가']).sort_index()

# [2-34] df의 index를 모두 columns로 이동합니다.
df = df.reset_index()

데이터프레임에서 특정 행, 열 제거

df.drop(행, axis=0)

df.drop([행1, 행2],axis=0)

df.drop(열, axis=0)

df.drop([열1, 열2],axis=0)

# [2-36] korea 정보 중에서 대륙 정보를 제거합니다.
# 대입하지 않아서 반영되지 않음
korea.drop('대륙', axis = 1)
# [2-37] indexing을 사용하여 korea 정보 중 대륙 정보를 제거합니다. (DataFrame.loc[])
# loc 록은 멀티 인덱싱
# iloc 보이지 않은 인덱스 번호 사용 가능
# way 1
korea.loc[:, '국가':'알코올비율']

# df 이용 way 2
df.loc[df['국가']=='South Korea', '국가':'알코올비율']
# [2-38] indexing을 사용하여 korea 정보 중 대륙 정보를 제거합니다. (DataFrame.iloc[])
# iloc은 정수번호 사용 
# way 3
korea.iloc[:, 1:]
# [2-39] korea에 대륙 정보가 제거된 정보를 다시 저장합니다.
korea = korea.drop('대륙', axis = 1)
korea

pd.DataFrame() : 데이터프레임 만들기

# [2-40] 세계의 각 컬럼별 평균을 구하여 DataFrame으로 만들고, 
# worldwide라는 이름을 지정합니다
# 세계의 각 컬럼별 평균은 DataFrame.mean()을 사용합니다.
# df.meadn()은 시리즈임
worldwide = pd.DataFrame(df.mean())
worldwide

df.T 행열 전환

# [2-41] worldwide의 행과 열을 전환해 wwT로 저장합니다.
# 행열 전환 datafram.T 
wwT = worldwide.T
# [2-42] wwT의 맨 앞에 '국가' 컬럼을 'World Wide' 값으로 추가합니다.
# 여러 번 추가하면 안됨
# 여러개 넣고 싶으면 값에 목록으로 주기
# inplace 는 바로 적용됨 그래서 return값 없음
# DataFrame.insert(위치, 컬럼, 값)

wwT.insert(0,'국가','WorldWide')
wwT

국가	맥주	증류주	와인	알코올	주류소비량	알코올비율
0	WorldWide	106.160622	80.994819	49.450777	4.717098	236.606218	0.028001
#wwT에 Tmep 칼럼의 WorldWide 삽입
wwT.insert(0,'Temp',['WorldWide'])
wwT


Temp	국가	맥주	증류주	와인	알코올	주류소비량	알코올비율
0	WorldWide	WorldWide	106.160622	80.994819	49.450777	4.717098	236.606218	0.028001

df.append() : 행 추가

compT = korea.append(wwT)
compT

국가	맥주	증류주	와인	알코올	주류소비량	알코올비율
85	South Korea	140.000000	16.000000	9.000000	9.800000	165.000000	0.059394
0	WorldWide	106.160622	80.994819	49.450777	4.717098	236.606218	0.028001

pd.concat([df1, df2 ..], axis=0) index 방향 합치기

pd.concat([df1, df2 ..], axis=1) columns 방향 합치기

-> append()와 달리 여러개의 df을 목록으로 여러 개를 한 번에 합침

# [2-44] wwT와 korea 를 합쳐 하나의 DataFrame을 생성하여 df2로 저장합니다.
# concat() 데이터프래임이 아닌 판다스가 제공하는 함수
# 위에서 아래? 왼쪽 오른쪽?방향 설정 가능!!
df2 = pd.concat([korea, wwT])
df2

'빅데이터 분석기사 > 작업 유형 1 (pd)' 카테고리의 다른 글

그룹별 통계값 구하기  (0) 2023.05.12
맥주 소비량 분석  (1) 2023.05.12
5/4 컬럼, 행의 추가/삭제  (2) 2023.05.04
통계치 구하기  (0) 2023.04.27
결측치 처리  (0) 2023.04.27