Pandas

Data Analysis
pandas, numpy

Data Visualization
matplotlib, seaborn, d3

Pandas

import numpy as np
import pandas as pd

ser1 = pd.Series([10,20,30])
ser1.index = ['a','b','c']
print(ser1)

ser2 = pd.Series( {'a':100, 'b':200, 'c':300})
print(ser2)

ser3 = pd.Series( data = [1,2,3,4], index = ['USA', 'Germany', 'France', 'Canada'] )
print(ser3)

ser4 = pd.Series([3,4,5,6], index = ['USA', 'Germany', 'France', 'Canada'] )
print(ser4)

ser_sum = ser3+ser4
print(ser_sum)

df = pd.read_csv('filename.csv', index_col = 'Unnamed:0')  #첫번째 컬럼을 인덱스로 사용하겠다

df.head()

df['income']  #income이라는 컬럼만 부른다
df['income'][:5] #처음 다섯개의 값만 불러온다
df['continent'].unique() #중복되지 않게 보여준다
df['continent'].nunique() #중복되지 않은 수
df['continent'].value_counts() #각 대륙별로 갖고 있는 데이터의 수
asia_df = df[df['continent'] == 'asia']  #asia만 뽑아서 데이터프레임을 만든다.
df['gross_income'] = df['income'] * df['population'] #새로운 시리즈가 만들어지고 gross income이라는 컬럼이 추가된다.
df.drop(labels = 'gross_income', axis = 1, inplace = True) #axis 1에서 gross_income이라는 걸 찾아서 지운다. axis 0은 인덱스 컬럼이다. inplace안하면 df에서 실제로 지워지지가 않는다.
df.loc[3] #3번째 인덱스를 보여준다.
df.loc[3, 'country'] #3번째에서 country는 무엇인지 보여준다.
df.loc{ [10, 20, 30], ['country']} # 10, 20, 30번째 인덱스의 country를 보여준다.
df[ df['income'] > 50000 ]
df[ (df['income'] > 50000) & (df['life_exp'] > 80)]
df.set_index('year') #index를 year로 한다
df.reset_index()
df['life_exp'].mean()
df['income'].fillna(value = 0) #income col에서 N/A 칸에 0을 넣는다

by_year = df.groupby('year') #year를 기준으로 묶는다
by_year.describe()
by_year.mean() #연도별로 각 컬럼의 평균을 구한다

pd.concat( [df1, df2, df3] ) #데이터프레임을 세로로 갖다 붙인다
pd.concat( [df1, df2, df3], axis = 1 ) #데이터프레임을 가로로 갖다 붙인다. 없는 값은 NaN으로 채워진다.
pd.merge(left, right, how = 'inner') #데이터프레임을 합친다. inner하면 같은 키인 것만 합치고 outer로 하면 달라도 합친다.
df.sort_values(by = 'life_exp', ascending = False).head(10) #sort in descending order, show 10 most values
df.pivot_table(values = 'income', index = ['year', 'continent']) #연도와 대륙 별 소득을 나타내는 pivot table을 만든다.

csv_df = pd.read_csv('example')
csv_df.to_csv('exmaple2', index = False) #csv파일로 저장하기




-----------------------------------------------------------------------
Reference
https://tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=132

댓글

이 블로그의 인기 게시물

논문 정리 - MapReduce: Simplified Data Processing on Large Clusters

논문 정리 - The Google File System

kazoo: Using zookeeper api with python