본문 바로가기

코딩으로 익히는 Python/Pandas

[Python] 12. pandas DataFrame 연산 : loc(),iloc(),boolean indexing, isin(), query(), f-string formatting 예제

728x90
반응형
SMALL
import pandas as pd
import numpy as np

 

data =  {'eng':[10,30,50,70],
         'kor':[20,40,60,80],
         'math':[90,50,20,70]}
df = pd.DataFrame(data, index=['a','b','c','d'] )
df


산술 연산

 

df+1

 

df*2

 

df['eng'] = [1,2,3,4]
df

df['eng'] = df['eng'] + 2
df



df.loc['a']  = df.loc['a'] + 2
df

 

df.loc['b':'c','kor':] = [[1,2],[3,4]]
df

 

df.loc['b':'c','kor':] = df.loc['b':'c','kor':] +2
df


boolean indexing

 

data =  {'eng':[10,30,50,70],
         'kor':[20,40,60,80],
         'math':[90,50,20,70]}
df = pd.DataFrame(data, index=['a','b','c','d'] )
df

 

#행단위
df[[True,False,False,True]]


관계 논리 연산자

 

df[ df['eng'] >30 ]

 

df[ (df['kor'] ==20) | (df['kor']==60) ]

 

df[ (df['kor'] >=20) & (df['kor']<=60) ]

 

df[ df['kor'].isin( [20,40]) ]


query 문을 이용한 조건별 데이터 fetch

 

# df[ df['eng'] >30 ]
df.query('eng>30')

 

# df[ (df['kor'] ==20) | (df['kor']==60) ]
df.query( 'kor==20 or kor==60')

 

# df[ (df['kor'] >=20) & (df['kor']<=60) ]
df.query( '20<=kor<=60')

 

num =30
# df[ df['eng'] >num ]
df.query(f'eng>{num}')


review
- query f-string formatting
728x90
반응형
LIST