1. Dataframe, series?
import pandas as pd
list_tmp = [1,2,3]
#리스트를 통해 시리즈 생성
s1 = pd.core.series.Series([1,2,3])
s2 = pd.core.series.Series(['one','two','three'])
#데이터 프레임 생성
pd.DataFrame(data = dict(num=s1,word=s2))
DataFrame - 2차원
시리즈 - 각각의 콜롬
2. csv 파일 읽어오기
import pandas as pd
df = pd.read_csv('desktop/name.csv')
print(df) #전체 출력
df.head(2) #앞에서 부터 보여주기
df.tail(3) #뒤에서 부터 보여주기
# 콤마가 아닌 TAP으로 분류가 되어있는 경우
df_tap = pd.read_csv('desktop/name_tap.csv',delimiter =
'\t')
# column 이름이 따로 없는 경우
df = pd.read_csv('desktop/name.csv',header= None)
df.columns = ['name','age','job']
#한번에 처리 하기
pf = pd.read_csv("desktop/name.csv",header = None, names = ['job','age','name'])
3. 행,열 삭제 하기
#DataFrame 생성 방법
friends = [{'age' : 15,'job' :'student'},{'age':25, 'job':'developer'},{'age':30,'job':'teacher'}]
df = pd.DataFrame(friends,index = ['john','jenny','nate'], columns = ['age','job'])
#열 삭제 후 저장하는 두가지 방법
df.drop(['john','nate'],inplace = True)
#df = df.drop(['john','nate'])
#index로 삭제하는 방법
df = df.drop(df.index[[0,2]])
#특정 정보만 삭제
df = df[df.age>20]
# 컬럼 삭제하기
df = df.drop('age',axis = 1)
4. 행, 열 생성하기
#열 생성하기
df['salary'] = 0
df['total'] = df['midterm'] + df['final']
#행 생성 및 추가하기
df2 = pd.DataFrame([
['ben',50,50]],
columns = ['name','age','hi']
)
df.append(df2,ignore_index= True)
#numpy where 활용하여 조건에 따라 값 생성하기
import numpy as np
df['salary'] = np.where(df['job'] != "student","yes","no")
#나이에 따라 기호로 바꿔주기
def chage_age(row):
if row > 20:
return "adult"
else:
return "child"
df['grade'] = df.age.apply(chage_age)
#뽑아내기
data_list = [
{
'yyyy-mm-dd' : '2006-06-27'
},
{
'yyyy-mm-dd' : '2006-06-27'
}
]
df = pd.DataFrame(data_list,columns= ['yyyy-mm-dd'])
def extract_year(row):
return row.split('-')[0]
df['year'] = df['yyyy-mm-dd'].apply(extract_year)
5. map vs applymap
map은 컬럼별로 (즉 시리즈에) 적용할때 사용하고
applymap은 데이터프레임 전체에 모두 적용시키고 싶을때 사용한다.
import pandas as pd
#데이터 구조
data_list = [{'date':'2000-06-28'},
{'date':'2002-09-24'},
{'date':'2002-12-15'}]
df = pd.DataFrame(data_list,columns = ['date'])
df
#적용시킬 함수
def extract_year(date):
return date.split('-')[0]
#apply와 비슷하게 사용
#map이용해 함수 변환
df['year'] = df['date'].map(extract_year)
df
#또 다른 변환
df.job = df.job.map({'student':1,'developer':2,'teacher:':3})
#applymap 사용법
import numpy as np
df = df.applymap(np.around)
<참조>
https://www.youtube.com/watch?v=pFXipjh0ghw&list=PLVNY1HnUlO26Igldy2Q6Nb2LZbpQWTyle
'Data Science > 파이썬 기본문법' 카테고리의 다른 글
[파이썬] Matplotlib 그리는 방법 - 참고용 (0) | 2020.09.16 |
---|---|
[panas] 결측치 채우기 - 설명 블로그 (0) | 2020.09.02 |
[파이썬] random 모듈 randint, randn, rand (0) | 2020.04.30 |
[파이썬] gzip , rb, savez (0) | 2020.04.29 |
[파이썬] matplotlib 기본 그리기 연습 (0) | 2020.04.22 |
댓글