728x90
DataFrame 행(row)열(column) 추가 삭제
CRUD중 Create 와 Delete
1: DataFrame 생성 또는 불러오기
# csv 불러오기
import pandas as pd
# 절대경로
# file_path = '/Users/chris/Desktop/Develop/TIL/python/BIGDATA/test.csv'
# tset_df = pd.read_csv(file_path, engine='python') # DataFrame의 약자 df
# 상대경로
test_df = pd.read_csv("./test.csv", encoding="cp949") # ./ 현재폴더 # encoding="cp949" 한글 인코딩 오류해결용
# 생성하기
import pandas as pd
# 딕셔너리 형태로
df = pd.DataFrame({'A' : ['a1', 'a2', 'a3', 'a4'], 'B' : ['b1', 'b2', 'b3', 'b4'], 'C' : ['c1', 'c2', 'c3', 'c4']})
# 리스트 형태로 (api로 불러올때는 대부분 이런식)
df = pd.DataFrame([{'A' : 'a1', 'B' : 'b1', 'C' : 'c1'},
{'A' : 'a2', 'B' : 'b2', 'C' : 'c2'},
{'A' : 'a3', 'B' : 'b3', 'C' : 'c3'},
{'A' : 'a4', 'B' : 'b4', 'C' : 'c4'}])
df

2: DataFrame 행(row) 추가 / 열(column) 추가
# 행(row, 가로) 추가
df.loc[len(df)] = ['st', 123, '아무거나'] # len(df) df : 행 인덱스 (숫자넣는곳)
df

# 열(column, 세로) 추가
df['새컬럼'] = 'new'
df

3: DataFrame 행(row) / 열(column) 삭제
# 행(row)가로 삭제
df2 = df.drop(0, axis = 0) # axis = 0 (생략가능) 행
df2
#df2 = df.drop([0, 1],axis = 0) 여러개도 한번에 가능
#df2
# df.drop([0], axis = 0, inplace = true) # inplace = True / 리턴없이 원본이 수정됨 (결과창 안뜸)
# df.drop([0], axis = 0, inplace = false) # false(생략가능)인 경우 리턴은 있지만 원본은 그대로 (결과창 뜸)
# 원본을 저장하고 싶으면 =>
# df = df.drop([0], axis = 0, inplace = false) 로 df에 담아야함
# df = df.drop(df.index[[0, 1]]) #인덱스 번호로도 삭제가능 (행 이름이 문자일때 번호로 지우기용)

# 열 (column, 세로) 삭제
df2 = df.drop('A', axis = 1) # axis = 1 열
df2

728x90
'AI > [Pandas]' 카테고리의 다른 글
[Pandas] 5. 데이터 값 변경 및 함수 + 문제 (U) (0) | 2023.02.03 |
---|---|
[Pandas] 4. DataFrame에서 데이터 추출 (loc, iloc) (R) (1) | 2023.02.03 |
[Pandas] 2. Pandas 시리즈(Series)와 데이터프레임(Dataframe) (2) | 2023.02.03 |
[Pandas] 1. 행렬 이거 하나로 한방정리(가로?세로?) (0) | 2023.02.03 |