Jin's Dev Story

[Python] DataFrame 본문

Programming Language/Python

[Python] DataFrame

woojin._. 2024. 6. 13. 09:01
# DataFrame 실습
df = pd.DataFrame({'a':[2,3], 'b':[5, 10]})
df

df = pd.DataFrame([[2, 5], [3, 10], [10, 20]], columns=['a', 'b'])
df

데이터프레임 행, 열 삭제

df.drop([지울 행이나 열], axis=축(0 or 1))

열 지울 땐 axis = 1

행 지울 땐 axis = 0

df.drop(['B', 'C'], axis=1)

inplace = True

  • 변수 할당 없이 변수에 적용하겠다는 뜻
df.drop(['B', 'C'], axis=1, inplace=True)

== 같은 뜻

df = df.drop(['B', 'C'], axis=1) 

계산 기능

  • mean() : 평균 값 구하기

데이터프레임 수정

# 1행의 C열의 값을 육으로 변경
df.loc[1, 'C'] = '육'

# 1행의 C의 값을 6으로 변경
df.iloc[1, 2] = 6

# 위 코드 두가지는 모두 동일한 뜻

조건 필터링 가져오기

  • 불린 형태로 가져오기 때문에 df[ ]로 묶어주기
df[df['age']>=30]

# df['age']>=30의 경우엔 불린형태로 가져옴

# job이 intern인 사람 가져오기
df['job'] == 'intern'

df[df['job'] == 'intern']

  • and, or 연산의 경우엔 ( )로 묶고 &, | 사용
# 조건 여러개
# 30대 이상 40대 이하
df[df['age'] >=30 & df['age'] <= 40]
>> 에러발생

df[(df['age'] >=30) & (df['age'] <= 40)]

# 조건 여러개
# 30대 미만 혹은 40대 초과
df[(df['age']<30) | (df['age']>40)]

  • in을 사용하려면 왼쪽에 단일값이 와야함
    • job에 있는 값은 lambda x에 넣을 건데 x가 ['student', 'manager']에 포함되니? 라고 묻는 것
    df['job'].apply(lambda x : x in ['student', 'manager'])
    
    # in을 통한 포함 조건 걸기
    df[df['job'].apply(lambda x : x in ['student', 'manager'])]
    

데이터프레임 복사 - df.copy()

  • 혹시 모룰 실수를 대비하여 복사한 값으로 사용하기

'Programming Language > Python' 카테고리의 다른 글

[Python] apply 함수  (0) 2024.06.13
[Python] DataFrame 그룹  (0) 2024.06.13
[Python] iloc와 loc  (0) 2024.06.13
[Python] Pandase(판다스)  (0) 2024.06.13
[Python] 시각화할 때 한글 깨지는 경우  (0) 2024.06.13