import pandas as pd
dict1 = {'Name': ['Gildong', 'Sarang', 'Jiemae', 'Yeoin'],
'Level': ['Gold', 'Bronze', 'Silver', 'Gold'],
'Score': [56000, 23000, 44000, 52000]}<code>
> df = pd.DataFrame(dict1)
df.head()
| Name | Level | Score | |
|---|---|---|---|
| 0 | Gildong | Gold | 56000 |
| 1 | Sarang | Bronze | 23000 |
| 2 | Jiemae | Silver | 44000 |
| 3 | Yeoin | Gold | 52000 |
path = 'titanic_simple.csv'
data = pd.read_csv(path)
data.head(10) # 상위 10개 데이터
data.tail(3) # 하위 3개 데이터
data.shape # 행, 열
data.columns # 인덱스 형태로 출력
data.columns.values # np array 형태로 출력
list(data) # 데이터프레임을 리스트 함수에 넣으면 열 이릉ㅁ이 리스트로 반환
data.dtypes
data.info() # 자료형, 행, 열, 값 개수 확인
data.describe() # count, mean, std, min/max, 25%, 75% 등
data.sort_values(by='열 이름', ascending = False)
data.sort_values(by=['열 이름1','열 이름2'], ascending = [True, False])
temp = data.sort_values(by = ['열 이름1','열 이름2'],
ascending = [True, False])
temp.reset_index(drop = True)
data['MaritalStatus'].unique() # 그 열이 가진 값들을 출력
data['MaritalStatus'].value_counts() # 각 고유값별 개수 확인
data['열 이름'] # data.열 이름
#모두 시리즈로 출력
data[['열1', '열2']] #데이터프레임으로 출력
data['열이름'] > 10
# 열의 값이 10 보다 큰지 True False가 시리즈로 출력
data.loc[data['열이름']>10]
# 열이름의 값이 10보다 큰 행들을 데이터프레임으로 출력
data.loc[(data['열1'] > 10) & (data['열2'] == 4)]
# 열1이 10보다 **크고** 열2가 4인 행을 데이터프레임으로 출력함
data.loc[(data['열1'] > 10) | (data['열2'] == 4)]
# 열1이 10보다 **크거나** 열2가 4인 행을 데이터프레임으로 출력함
data.loc[data['열1'].isin([1,4])]
data.loc[(data['열1']==1) | (data['열1'] == 4)]
isin과 | 의미가 같다
between(값1, 값2): 값1 ~ 값2까지 범위안의 데이터만 조회한다.
data.loc[data['열1'].between(25, 30)]
# 열1의 값이 25이상 30이하인 행을 데이터프레임으로 조회
data.loc[(data['열1'] >= 25) & (data['열1'] <= 30)]
# between과 & 의미가 같다.
data.loc[data['열1'].between(25, 30, inclusive ='right')]
# 열1의 값이 **25초과 30이하**인 것 조회
- both는 둘다 포함
- right는 오른쪽 경계 포함
- left는 왼쪽 경계포함
- neither은 양쪽다 제외
data.loc[data['열1'] >= 100, ['열2']] # 단일 열 조회
- 열1이 100 이상인 열2의 값만 데이터프레임으로 조회
data.loc[data['열1'] >= 100, ['열2', '열3']] # 여러 열 조회
- 열1이 100 이상인 열2와 열3의 값을 데이터프레임으로 조회
data.sum()
data.mean()
data.max()
data.min()
data.count()
data.groupby('열1',as_index=True)['열2'].mean()
# 열1별 열2의 평균이 시리즈로 나옴
data.groupby('Month', as_index = True)[['User']].mean()
# Month별 User의 평균 데이터프레임으로 나옴
data.groupby('Month', as_index = False)[['User', 'Fare']].mean()
#월별 유저 수와 요금의 평균
data.gropby(by = ['Month', 'Year'], as_index=False)[['User', 'Fare']].mean()
# 월별 연도별 사용자 수와 요금의 평균
data.groupby('Month', as_index=False).mean()
# 월별 모든 값에 대한 평균
data.groupby('Month', as_index=False)[['User']].agg(['min', 'max', 'mean])
# 월별 사용자수의 최소 최대 평균
[참고] 한기영 강사님 수업자료