Numpy, Pandas, Series : DataFrame, iloc : loc
Numpy(Numerical Python)
numpy란 Python에서 과학 컴퓨팅을 위한 기본적인 패키지입니다.
대규모 다 차원 배열 뿐만 아니라 수치 계산을 쉽고 효율적으로 처리할 수 있도록 지원하는 파이썬의 라이브러리
Numpy는 명시적 인덱스 없이 묵시적으로 '0'부터 차례로 중서형 인덱스를 사용하여 접근.
Pandas
Pandas(Python Data Analysis Library)란 Python을 활용해 데이터 분석을 하기 위해서 사용하는 패키지입니다.
R의 DataFrame을 따라서 Python에서 사용할수 있는 형태의 DataFrame을 제공해줍니다.
Pandas DataFrame을 활용하면 데이터를 표(Table)형태로 처리할 수 있어서 수집된 데이터의 전처리등
각종 데이터 핸들링을 쉽고 편하게 할 수 있습니다.
Series vs DataFrame
Series란
인덱싱된 데이터의 1차원 배열입니다.
Pandas Series는 명시적으로 정의된 인덱스가 존재하기 때문에 이 명시적 인덱스를 사용한다.
DataFrame
DataFrame이란 다양한 데이터 타입을 이용하여 만들어 낼수 있습니다. (list, dictionary, series, ndarray)
List만들기
import pandas as pd
df = pd.DataFrame([['a', 'b', 'c'],['d', 'e', 'f'],['g', 'h', 'i']])
df
Dictionary만들기
import pandas as pd
data = {
'age' : [],
'weight' : [],
'heigth' : []
}
dfIndex = ['김철수', '임현지', '박금지']
df = pd.DataFrame(data, index = dfIndex)
df
LOC방식
loc란 1.데이터 프레임의 행 또는 컬럼의 label이나 boolean array로 접근하는 방법
쉽게말해서, 컬럼명을 직접 적거나, 특정 조건식을 써주어서 사람이 읽을 수 있게 데이터에 접근하는 방법입니다.
loc방식의 사용방법
df.loc[행 인덱스값 , 열 인덱스 값]
이 데이터에서 만약 4번째 total_bill 값이 보고 싶다면
tips.loc['total_bill']
float(tips.loc[3, "total_bill"])
tips.loc[ 'total_bill' ]을 하면 모든 total_bill의 값들이 나옵니다.
그 값들중에 4번째 값을 보기위해 tips.loc[3, "total_bill'])을 하면 np.float64(23.68)이 나오는데
float값이 나오기떄문에 앞에 float을 하면 np.float가 사라집니다
LOC방식의 조건문
>>> df.loc[ 조건문 ]
조건이 2개 이상일때
>>> df.loc[(조건1) & (조건2)]
만약 train이라는 데이터표에서 Gender가 Male인 것을 조회한다면?
train.loc[(train['Gender'] == 'Male)]
만약 tips라는 데이터표에서 total_bill이 20보다 크고, tip이 3보다는 행을 출력한다면?
tips.loc[(tips['total_bill'] > 20) & (tips['tip'] > 3)]
어떻게 하든 loc방식으로 해야된다. ( 더 직관적)(명칭기반)
iloc는 컬럼명을 쓸수없음. (직관적이지 않음 ==> 쓰지않기.)
자동화 할때 좋음 . 속도가 더 빠름 (위치기반)