sliver__

[Pandas 데이터 분석] Chapter 1 - 판다스 입문(2) 본문

CS/Pandas

[Pandas 데이터 분석] Chapter 1 - 판다스 입문(2)

sliver__ 2022. 2. 16. 16:07
728x90

[원소선택]

# 인덱스 이름
DataFrame 객체.loc[행 인덱스, 열 이름]
# 정수 위치 인덱스
DataFrame 객체.iloc[행 번호, 열 번호]

 

[열 추가]

DataFrame 객체 [ '추가하려는 열 이름' ] = 데이터 값

 

[행 추가]

DataFrame 객체.loc['행 이름'] = 데이터 값

 

[원소 값 변경]

DataFrame 객체의 일부분 또는 원소를 선택 = 새로운 값

 

[행, 열의 위치 바꾸기]

DataFrame 객체.transpose()
DataFrame 객체.T

 

[인덱스 활용]

[특정 열을 행 인덱스로 설정]

DataFrame 객체.set_index(['열 이름'])

#Multi index
DataFrame 객체.set_index (['열 이름1', '열 이름2'])

 

[행 인덱스 재배열]

DataFrame 객체.reindex( 새로운 인덱스 배열 , fill_value = 값)
import pandas as pd

dict_data = { 'c0' : [1,2,3], 'c1' : [1,2,3], 'c2' : [1,2,3], 'c3' : [1,2,3],'c4' : [1,2,3] }

df = pd.DataFrame(dict_data, index=['r0','r1','r2'])
print(df)

df2 = df.reindex(['r0','r1','r2','r3','r4'])
print(df2)

df3 = df.reindex(['r0','r1','r2','r3','r4'], fill_value=0)
print(df3)
    c0  c1  c2  c3  c4
r0   1   1   1   1   1
r1   2   2   2   2   2
r2   3   3   3   3   3
     c0   c1   c2   c3   c4
r0  1.0  1.0  1.0  1.0  1.0
r1  2.0  2.0  2.0  2.0  2.0
r2  3.0  3.0  3.0  3.0  3.0
r3  NaN  NaN  NaN  NaN  NaN
r4  NaN  NaN  NaN  NaN  NaN
    c0  c1  c2  c3  c4
r0   1   1   1   1   1
r1   2   2   2   2   2
r2   3   3   3   3   3
r3   0   0   0   0   0
r4   0   0   0   0   0

 

[행 인덱스 초기화]

DataFrame 객체.reset_index()

[행 인덱스 기준 정렬]

DataFrame 객체.sort_index(ascending=True, False)

[특정 열의 데이터 값을 기준으로 정렬]

DataFrame 객체.sort_values(by = '특정 열', ascending = True 또는 False)

 


[산술연산]

  • 판다스 객체의 산술연산은 내부적으로 3단계 프로세스를 거친다
    • 행/열 인덱스를 기준으로 모든 원소를 정렬
    • 동일한 위치에 있는 원소끼리 일대일로 대응시킨다.
    • 일대일 대응이 되는 원소끼리 연산을 처리한다

 

[시리즈 연산]

[시리즈 vs 숫자]

Series 객체 + 연산자(+,-,*,/) + 숫자

[시리즈 vs  시리즈]

Series1 + 연산자(+, -, *, /) + Series2
  • 시리즈는 인덱스의 순서가 다르더라도 같은 인덱스를 찾아 계산을 한ㄷ.
  • 어느 한쪽에만 인덱스가 존재하고 다른 쪽에는 짝을 지을 수 있는 인덱스가 없을 경우 NaN으로 처리한다.

[연산 메소드]

#연산메소드

Series.add(Series2, fill_value=0)
  • 연산시 없는 인덱스나 np.nan(NaN)이 들어가있는 경우, fill_vaule =0 을 통해 인덱스들을 0으로 대체하여 계산할 수 있다.

[데이터프레임 연산]

[데이터프레임 + 숫자]

DataFrame 객체 + 연산자(+, -, *, /) + 숫자

[데이터프레임 + 데이터프레임]

DataFrame1 + 연산자(+, -, *, /) + DataFrame2

 


Reference : 파이썬 머신러닝 판다스 데이터분석

728x90
Comments