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

+ Recent posts