군침이 싹 도는 코딩

Python pandas 데이터 추가/삭제/변경 본문

Python/Pandas

Python pandas 데이터 추가/삭제/변경

mugoori 2022. 11. 24. 11:32

판다스 데이터 프레임에서 컬럼을 추가하는법

df

>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7

new_item=[{'bikes':20,'pants':30,'watches':35,'glasses':4}]
new_store=pd.DataFrame(data=new_item,index=['store 3'])
df=df.append(new_store)
df
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN

# append를 사용하여 추가하면 해당 기능은 판다스에서 곧 삭제된다라는 경고문이 뜨게된다.

 

 

판다스 데이터 프레임에서 데이터를 삭제하는 법

df
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN


# store 2 삭제
df.drop('store 2,axis=0)
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 3 20    30     35      4.0     NaN   NaN


# glases 컬럼 삭제
df.drop('glasses',axis=1)
>>>     bikes pants watches shirts suits
store 1 20    30     35      15    45
store 2 15    5      20      2     7
store 3 20    30     35      NaN   NaN


# pants 컬럼과 suits 컬럼을 삭제하세요
df.drop(['pants','suits'], axis = 1)
>>>     bikes watches glasses shirts 
store 1 20     35      NaN     15    
store 2 15     20      50.0    2     
store 3 20     35      4.0     NaN

# drop 이라는 함수를 사용해 행 또는 열을 삭제할수있다 이때 액시스 값을 넣어줘야한다

행은 0 열은 1로 넣어주면 된다 두개 이상의 행 또는 열을 삭제하고싶을때는 리스트를 사용한다

 

 

판다스 데이터프레임에서 인덱스를 변경하는법

df
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN


# store 3 를 last store 로 인덱스를 변경하자.
df.rename(index={'store 3':'last store'})
>>>       bikes pants watches glasses shirts suits
store 1    20    30     35      NaN     15    45
store 2    15    5      20      50.0    2     7
last store 20    30     35      4.0     NaN   NaN


# store 1 을 first store store 3 을 last store 로 변경
df.rename(index={'store 1':'first store','store 3':'last store'})
>>>           bikes pants watches glasses shirts suits
first store    20    30     35      NaN     15    45
store 2        15    5      20      50.0    2     7
last store     20    30     35      4.0     NaN   NaN

 

 

판다스 데이터 프레임에서 컬럼을 변경하는법

df
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN


# bikes 컬럼은 hat 으로 suits 컬럼은 shoes 로 바꿔주세요
df.rename(columns={'bikes':'hat','suits':'shoes'})
>>>     hat  pants watches glasses shirts shooes
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN

#판다스 데이터 프레임에서 인덱스 또는 컬럼을 변경할때에는 rename이란 함수를 사용해 인덱스는 index=

컬럼은 columns= 후 딕셔너리를 이용해 변경할 자리를 키에 변경하고싶은 값을 벨류에 넣으면 된다

 

 

판다스 데이터 프레임에서 컬럼을 인덱스값으로 바꾸는법

df
>>>     bikes pants watches glasses shirts suits
store 1 20    30     35      NaN     15    45
store 2 15    5      20      50.0    2     7
store 3 20    30     35      4.0     NaN   NaN


# 새로운 컬럼 name 을 만들되 A,B,C로 컬럼 추가해주세요
df['name']=['A','B','C']
df
>>>     bikes pants watches glasses shirts suits name
store 1 20    30     35      NaN     15    45    A
store 2 15    5      20      50.0    2     7     B
store 3 20    30     35      4.0     NaN   NaN   C

df.set_index('name',inplace=True ) # inplace 는 메모리에 저장하는 함수
df     
>>>     bikes pants watches glasses shirts suits 
name        
A        20    30     35      NaN     15    45    
B        15    5      20      50.0    2     7     
C        20    30     35      4.0     NaN   NaN

# 판다스 데이터프레임 안에 컬럼을 인덱스로 변환하고싶을때에는 set_index(변경할 컬럼) 을 사용하면 된다

# inplace는 기호 ( = ) 과 같은 메모리에 저장하는 역할이다

 

 

판다스 데이터프레임의 인덱스(컴퓨터가 메기는 인덱스)를 원래대로 초기화 하는 법

df.reset_index(inplace=True)
df
>>>  name    bikes pants watches glasses shirts suits       
0     A       20    30     35      NaN     15    45    
1     B       15    5      20      50.0    2     7     
2     C       20    30     35      4.0     NaN   NaN

# 판다스 데이터프레임의 인덱스를 초기화 하고 싶을때에는 reset_index() 를 사용한다 이때 안에 파라미터값은 없다

#  inplace는 기호 ( = ) 과 같은 메모리에 저장하는 역할이다