You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import re
import pandas as pd
# 정규표현식
pattern = re.compile('^\S+ \S+ \S+ \[(.*\)] "(.*)" (\S+) (\S+)$')
# 정규 표현으로 파싱하는 함수
def parse_access_log(path):
for lin in open(path):
for m in pattern.finditer(line):
yield m.groups()
# 로그 파일을 읽어서 데이터 프레임으로 변환
columns = ['time', 'request', 'status', 'bytes']
pd.DataFrame(parse_access_log('access.log'), columns=columns)
1-3 스크립트 언어에 의한 특별 분석과 데이터 프레임
스크립트 언어
데이터 프레임
웹 서버의 액세스 로그
시계열 데이터 집계
import pandas as pd
df1 = pd.read_csv('access_log.csv', parse_dates=['time'])
df2 = df1.set_index('time')
df3 = df2['1995-07-01' : '1995-07-03']
df3.resample('ld').size() #1일분의 액세스 수 카운트
>> time
>> 1995-07-01 @@@
>> 1995-07-02 @@@
>> 1995-07-03 @@@
SQL 결과를 데이터프레임에 사용
import pandas as pd
import sqlalchemy
engine = sqlalchemy.create_engine('sqlite:///sample.db') # 데이터베이스에 접속
query = '''
SELECT substr(time, 1, 10) time, count(*) count
FROM access_log
WHERE time BETWEEN '1995-07-01' AND '1995-07-04'
GROUP BY 1 ORDER BY 1
'''
pd.read_sql(query, engine)
>> time
>> 1995-07-01 @@@
>> 1995-07-02 @@@
>> 1995-07-03 @@@
1-4 BI 도구와 모니터링
모니터링
KPI 모니터링
Tableau Public
The text was updated successfully, but these errors were encountered: