Series size, shape, unique, count, value_counts 함수
size: 시리즈 원소 개수 반환shape: 튜플형태로 shape 반환unique(): 유일한 값만 ndarray로 반환count(): NaN을 제외한 개수를 반환mean(): NaN을 제외한 평균value_counts(): NaN을 제외하고 각 값들의 빈도를 반환
예시 시리즈
s = pd.Series([1,2,1,1,2,3,1,1,3,5,2,4,2,3,5, np.nan,5,3,2,1,4,2])
s
- 출력
0 1.0
1 2.0
2 1.0
3 1.0
4 2.0
5 3.0
6 1.0
7 1.0
8 3.0
9 5.0
10 2.0
11 4.0
12 2.0
13 3.0
14 5.0
15 NaN
16 5.0
17 3.0
18 2.0
19 1.0
20 4.0
21 2.0
dtype: float64
size
s.size
- 출력
22
shape
s.shape
- 출력
(22,)
s.unique()
- 출력
array([ 1., 2., 3., 5., 4., nan])
NaN 을 제외한 개수를 반환s.count()
- 출력
np.int64(21)
NaN 값 제외)s.mean()
- 출력
np.float64(2.5238095238095237)
.values 를 활용하여 mean() 을 사용하면 NaN 값이 포함되어 결과값이 NaN 이 된다.np.nanmean() 을 사용하면 NaN 값을 제외하고 계산한다.s.values.mean()
- 출력
np.float64(nan)
s.value_counts()
- 출력
1.0 6
2.0 6
3.0 4
5.0 3
4.0 2
Name: count, dtype: int64
date_range 함수 (날짜생성)pd.date_range(start=None, end=None, periods=None, freq='D')start : 시작날짜end : 끝날짜periods : 날짜 생성기간freq : 날짜 생성 주기, 기본값은 'D' (Day)start 는 필수 옵션 / end 나 periods 는 둘 중 하나가 있어야 함freq 옵션 종류
freq 미지정시 기본값이 D 하루 주기다.# 1
pd.date_range(start='2024-12-07', end='2024-12-31')
# 2
pd.date_range(start='2024-12-07', end='2024-12-31', freq='D')
- 출력
DatetimeIndex(['2024-12-07', '2024-12-08', '2024-12-09', '2024-12-10',
'2024-12-11', '2024-12-12', '2024-12-13', '2024-12-14',
'2024-12-15', '2024-12-16', '2024-12-17', '2024-12-18',
'2024-12-19', '2024-12-20', '2024-12-21', '2024-12-22',
'2024-12-23', '2024-12-24', '2024-12-25', '2024-12-26',
'2024-12-27', '2024-12-28', '2024-12-29', '2024-12-30',
'2024-12-31'],
dtype='datetime64[us]', freq='D')
freq='W' : 일요일 기준으로 일주일 주기로 생성freq='W-MON' : 월요일 기준으로 일주일 주기로 생성freq='W'
pd.date_range(start='2025-12-07', end='2025-12-31', freq='W')
- 출력
DatetimeIndex(['2025-12-07', '2025-12-14', '2025-12-21', '2025-12-28'],
dtype='datetime64[us]', freq='W-SUN')
freq='W-SUN'
pd.date_range(start='2025-12-07', end='2025-12-31', freq='W-MON')
- 출력
DatetimeIndex(['2025-12-08', '2025-12-15', '2025-12-22', '2025-12-29'],
dtype='datetime64[us]', freq='W-MON')
freq='ME' : 월말 날짜 기준 주기freq='MS' : 월초 날짜 기준 주기freq='BME' : 업무 월말 날짜 기준 주기freq='BMS' : 업무 월초 날짜 기준 주기freq='ME'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='ME')
- 출력
DatetimeIndex(['2023-12-31', '2024-01-31', '2024-02-29', '2024-03-31',
'2024-04-30', '2024-05-31', '2024-06-30', '2024-07-31',
'2024-08-31', '2024-09-30', '2024-10-31', '2024-11-30',
'2024-12-31', '2025-01-31', '2025-02-28', '2025-03-31',
'2025-04-30', '2025-05-31', '2025-06-30', '2025-07-31',
'2025-08-31', '2025-09-30', '2025-10-31', '2025-11-30',
'2025-12-31'],
dtype='datetime64[us]', freq='ME')
freq='MS'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='MS')
- 출력
DatetimeIndex(['2024-01-01', '2024-02-01', '2024-03-01', '2024-04-01',
'2024-05-01', '2024-06-01', '2024-07-01', '2024-08-01',
'2024-09-01', '2024-10-01', '2024-11-01', '2024-12-01',
'2025-01-01', '2025-02-01', '2025-03-01', '2025-04-01',
'2025-05-01', '2025-06-01', '2025-07-01', '2025-08-01',
'2025-09-01', '2025-10-01', '2025-11-01', '2025-12-01'],
dtype='datetime64[us]', freq='MS')
freq='BME'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='BME')
- 출력
DatetimeIndex(['2023-12-29', '2024-01-31', '2024-02-29', '2024-03-29',
'2024-04-30', '2024-05-31', '2024-06-28', '2024-07-31',
'2024-08-30', '2024-09-30', '2024-10-31', '2024-11-29',
'2024-12-31', '2025-01-31', '2025-02-28', '2025-03-31',
'2025-04-30', '2025-05-30', '2025-06-30', '2025-07-31',
'2025-08-29', '2025-09-30', '2025-10-31', '2025-11-28',
'2025-12-31'],
dtype='datetime64[us]', freq='BME')
freq='BMS'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='BMS')
- 출력
DatetimeIndex(['2024-01-01', '2024-02-01', '2024-03-01', '2024-04-01',
'2024-05-01', '2024-06-03', '2024-07-01', '2024-08-01',
'2024-09-02', '2024-10-01', '2024-11-01', '2024-12-02',
'2025-01-01', '2025-02-03', '2025-03-03', '2025-04-01',
'2025-05-01', '2025-06-02', '2025-07-01', '2025-08-01',
'2025-09-01', '2025-10-01', '2025-11-03', '2025-12-01'],
dtype='datetime64[us]', freq='BMS')
freq='QE' : 분기 끝 날짜 기준 주기freq='QS' : 분기 시작 날짜 기준 주기freq='BQE' : 업무 분기 끝 날짜 기준 주기freq='BQS' : 업무 분기 시작 날짜 기준 주기freq='QE'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='QE')
- 출력
DatetimeIndex(['2023-12-31', '2024-03-31', '2024-06-30', '2024-09-30',
'2024-12-31', '2025-03-31', '2025-06-30', '2025-09-30',
'2025-12-31'],
dtype='datetime64[us]', freq='QE-DEC')
freq='QS'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='QS')
- 출력
DatetimeIndex(['2024-01-01', '2024-04-01', '2024-07-01', '2024-10-01',
'2025-01-01', '2025-04-01', '2025-07-01', '2025-10-01'],
dtype='datetime64[us]', freq='QS-JAN')
freq='YE' : 일년 끝 날짜 기준 주기freq='YS' : 일년 시작 날짜 기준 주기freq='BYE' : 업무 일년 끝 날짜 기준 주기freq='BYS' : 업무 일년 시작 날짜 기준 주기freq='YE'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='YE')
- 출력
DatetimeIndex(['2023-12-31', '2024-12-31', '2025-12-31'],
dtype='datetime64[us]', freq='YE-DEC')
freq='YS'
pd.date_range(start='2023-12-08', end='2025-12-31', freq='YS')
- 출력
DatetimeIndex(['2024-01-01', '2025-01-01'], dtype='datetime64[us]', freq='YS-JAN')
freq='h' : 시간 주기freq='bh' : 업무 시간 주기freq='min' : 분 주기freq='s' : 초 주기periods= : 설정한 수 만큼 날짜를 생성freq='h'
pd.date_range(start='2026-02-25', periods=10, freq='h')
- 출력
DatetimeIndex(['2026-02-25 00:00:00', '2026-02-25 01:00:00',
'2026-02-25 02:00:00', '2026-02-25 03:00:00',
'2026-02-25 04:00:00', '2026-02-25 05:00:00',
'2026-02-25 06:00:00', '2026-02-25 07:00:00',
'2026-02-25 08:00:00', '2026-02-25 09:00:00'],
dtype='datetime64[us]', freq='h')
freq='bh'
pd.date_range(start='2026-02-25', periods=10, freq='bh')
- 출력
DatetimeIndex(['2026-02-25 09:00:00', '2026-02-25 10:00:00',
'2026-02-25 11:00:00', '2026-02-25 12:00:00',
'2026-02-25 13:00:00', '2026-02-25 14:00:00',
'2026-02-25 15:00:00', '2026-02-25 16:00:00',
'2026-02-26 09:00:00', '2026-02-26 10:00:00'],
dtype='datetime64[us]', freq='bh')