
Date Open High Low Close Volume
0 12/19/2016 790.219971 797.659973 786.270020 794.200012 1225900
1 12/20/2016 796.760010 798.650024 793.270020 796.419983 925100
2 12/21/2016 795.840027 796.676025 787.099976 794.559998 1208700
3 12/22/2016 792.359985 793.320007 788.580017 791.260010 969100
4 12/23/2016 790.900024 792.739990 787.280029 789.909973 623400
.. ... ... ... ... ... ...
56 3/13/2017 844.000000 848.684998 843.250000 845.539978 1149500
57 3/14/2017 843.640015 847.239990 840.799988 845.619995 779900
58 3/15/2017 847.590027 848.630005 840.770020 847.200012 1379600
59 3/16/2017 849.030029 850.849976 846.130005 848.780029 970400
60 3/17/2017 851.609985 853.400024 847.109985 852.119995 1712300
[61 rows x 6 columns]
61*6=366개# 1번
import pandas as pd
import numpy as np
# 날짜 문자열 리스트
date_str = ["2025-06-01", "2025-06-02", "2025-06-03"]
# DatetimeIndex로 변환
idx = pd.to_datetime(date_str)
# 시리즈 생성 (랜덤 값 예시)
s = pd.Series(np.random.randn(3), index=idx)
print(s)
# 2번
import pandas as pd
import numpy as np
# 2025년 6월 1일부터 3일간의 날짜 생성
idx = pd.date_range('2025-06-01', periods=3)
# 시리즈 생성
s = pd.Series(np.random.randn(3), index=idx)
print(s)
# 3번
import pandas as pd
# 예시 DataFrame (날짜 열 포함)
df = pd.DataFrame({
'date': ['2025-06-01', '2025-06-02', '2025-06-03'],
'value': [10, 20, 30]
})
# 날짜 열을 Datetime 타입으로 변환
df['date'] = pd.to_datetime(df['date'])
# 인덱스를 날짜로 지정
df.set_index('date', inplace=True)
# 시리즈로 추출 (예: value 열)
s = df['value']
print(s)
# 방법 1
df.iloc[list(range(0,61,2)) ,2:4]
# 방법 2
df.iloc[[i for i in range (0,61,2)], 2:4]
# 방법 3
ls = [x for x in df.index if x % 2 == 0]
df.loc[ls, ['High','Low']]
# 방법 4
df.loc[df.index % 2 == 0, ['High','Low']]
# 또 다른 방법들
df.loc[[i for i in range(len(df)) if not i%2], ['High', 'Low']]
df[df.index%2==0][['High', 'Low']]
df.iloc[[i for i in range(len(df)) if not i%2]][['High', 'Low']]
# df의 인덱스(정수인덱스) 확인
df.index
RangeIndex(start=0, stop=61, step=1)
parse_dates=['컴럼명']index_col='컬럼명'pd.read_csv('data/goog.csv', parse_dates=['Date'], index_col='Date')
df32 = df # df 데이터프레임을 df32로 할당한다
df32['Date'] = pd.to_datetime(df['Date'] )
# to_datetime() 함수
# 데이터프레임의 특정 컬럼의 타입(형식)을 detetime 형식으로 변환
print(type(df32.Date[0])) # 서비스 코드
df32
df.High.plot()

df.Low.plot()

df.High.plot(kind='bar')

df.High.plot(kind='pie') # 파이

df.High.plot(kind='hist', y='Height') #히스토그램

pandas.concat(objs, *, axis=0, join='outer', ignore_index=False, keys=None,
levels=None, names=None, verify_integrity=False, sort=False, copy=True)
→ concatenate Series/DataFrame: pandas.concat() 함수를 사용하여 데이터프레임들을 합치는 방법
pandas.concat()[df1, df2]과 같은 형태로 입력

import pandas as pd
df1 = pd.DataFrame({'name':['A','B','C','D'],
'age':[18,30,25,42],
'city':['Seoul','Incheon','Seoul','Busan']}, index=[0,1,2,3])
df2 = pd.DataFrame({'name':['B','C','D','E'],
'age':[30,25,42,11],
'city':['Incheon','Seoul','Busan','Suwon'],
'height':[150, 170, 180, 135]}, index=[1,2,3,4])
concat1 = pd.concat([df1, df2])
concat1은 다음과 같음
concat2 = pd.concat([df1, df2], ignore_index=True)
concat2는 다음과 같이 새롭게 인덱스 번호가 설정되었음을 확인할 수 있음

axis=1 값을 통해 열방향(좌우)으로 합치기
concat3 = pd.concat([df1, df2], axis=1)

join='inner'로 설정을 하면 교집합에 해당하는 부분만 이어붙이게 됨concat4 = pd.concat([df1, df2], axis=1, join='inner')
