본문 바로가기

분류 전체보기

(249)
따릉이 처음 타보고, 현장 인터뷰 했다. 요즘, 심심풀이겸 그냥 있기 뭐해서 따릉이 데이터 EDA를 하고있다. (사실 분석이라고 하기엔 좀 뭐하다..) 근데, 사실 난 여태껏 따릉이를 보고 듣기만 했지, 직접 타본적은 없었다. 따릉이 주제로 이것저것 해보는데, 직접 사용안해보는건 아니다 싶어, 이번 기회에 집 가는겸 처음 타봤다. 일단, 어플을 다운받아야 하는건 알고 있었고, 내친김에 회원가입까지해서, 바로 1시간 회원 이용권을 샀다. 그리고 근처 대여소 찾아서, 11번 거치대의 자전거를 대여를 딱 누르고, 거치대 앞에 섰다. 문제는 지금부터다. 홈 버튼같은게 있어서 눌렀더니, 비밀번호 4자리를 치랜다. ????? 무슨 비밀번호??? 다시 어플을 봤는데, 여전히 예약 요청 중이랜다. ????? 뭐 어쩌란거지... 결국 그냥 고객센터로 전화했다...
folium 의 plugins 패키지 샘플 살펴보기 지리 데이터 시각화 라이브러리인 folium 쓰다가, 공식 도큐먼트를 보고 조금 놀랐다. documentation을 비롯한 examples 들이 생각보다 잘 정리되었기 때문… 정말 이래야 쓸 맛이 난다. Folium, 지리 데이터 시각화 라이브러리 folium 은 leaflet.js 를 파이썬 + 쥬피터에서 쓸 수 있게 만들어놓은 라이브러리다. 이전에 웹에서 지도를 그려본 사람이라면 leaflet 을 알텐데, 뭐 여하튼 경량화 되어있고, 모바일에도 최적화되어있는 유명한 라이브러리다. 아무튼, 이런 라이브러리를 파이썬에서 사용할 수 있는건, 꽤나 강력하다는 생각이 든다. folium 공식 깃허브 https://github.com/python-visualization/folium folium 공식 docum..
pandas, 데이터 프레임 합치는 방법 중 뭐가 제일 빠를까 pandas 에서 기존 데이터 프레임에 행(row) 를 추가해야할 때, 뭘 쓰면 좋을까. 일단 방법은 3가지가 있다. pd.DataFrame() + np.concatenate() pd.concat() df.append() 세가지 방법 중 뭐가 제일 빠른지 빠르게 확인해본다. 데이터 크기 print(df1.shape) print(df2.shape) # output (1048575, 11) (385067, 11) pd.DataFrame + np.concatenate 이용 start_time = time.time() df3 = pd.DataFrame(np.concatenate((df.values, df2.values), axis=0 )) end_time = time.time() print(end_time - ..
파이썬 제너레이터 간단 정리 파이썬은 주로 데이터를 다룰 때 쓰는 프로그래밍 언어로 많이 쓰인다. 특히, 큰 양의 데이터를 다룰 때, CPU/Memory 등 하드웨어 리소스들을 신경쓰며 프로그래밍 해야하는 상황이 생기는데, 이럴 때 파이썬에 등장하는 키워드가 바로 제너레이터다. 이에 대해, 간략히 요약하여 기록해보려고 한다. 대부분의 글은 아래 링크를 참조했다. 좀 더 알고싶다면 아래 링크를 참조하면 된다. 이글은 핵심만 적는다. 참고 링크 [번역] 이터레이터와 제너레이터 python generator(제너레이터) 란 무엇인가 제너레이터란? 한 마디로 말해, yield 구문을 갖고있으면서 이터레이터를 반환하는 함수다. def A(n): i = 0 while i < n: yield i i += 1 이 때, 이터레이터란, next() ..
세 집단 이상의 평균차이에 대한 가설 검정 이전에는 단일 집단 혹은 두 집단의 평균 비교분석을 공부했었다. 이제 그 다음 단계로 세 집단 이상의 평균 비교분석에 대해 공부해본다. 대부분의 글들과 내용은 Sapientia a Dei님 유튜브 에 있고, 이 글은 이 강의를 보고 개인적으로 정리해놓은 내용이다. 세 집단 이상의 평균차이에 대한 가설 검정 예를 들면, 이런 식이다. 어떤 금융회사에서 고객의 총 지출금액이 지불방법에 따라 차이가 나는지 알고싶어 한다. 지불 방법은 다음과 같은 방법이 있다. 실시간 계좌 이체 신용카드 무통장 입금 지불 방법에 따라 세 집단이 등장하고, 각 방법에 따른 총 지출금액의 평균이 등장한다. ANOVA (ANalysis Of Variance), 분산 분석 Z-test, T-test 가 안되는 이유 두 개 이하의 집단..
[BOJ] 5430. AC 문제 AC (https://www.acmicpc.net/problem/5430) 풀이 1. 초기 접근 문제조건 해석 배열에 들어있는 수의 개수 n이 주어진다. (0 ≤ n ≤ 100,000) n
두 집단의 평균차이에 대한 가설 검정 가설 검정을 배우는 이유는, 실제로 써먹기 위함이고, 써먹으려면 실제 현실의 여러 상황에 맞게 배워야 한다. 고로, 현실의 여러 상황들을 정의하고 분류한 뒤, 각 상황에 맞는 테스트를 배우는 것이 가설검정의 목표라고 할 수 있겠다. 대부분의 글들과 내용은 Sapientia a Dei님 유튜브 를 참고한다. (매우 잘 설명되어있어서, 금방 볼 수 있다.) 한 집단의 가설검정 이전까지의 가설검정은 하나의 집단, 즉 단일 집단에 대한 가설 검정 내용이었다. 예를 들어, 다음과 같은 상황과 질문이었다. 배터리 A의 수명은 1년이라고 알려져있는데, 최근 소비자들로부터 1년이 아닌 것 같다는 말이 나오고 있다. 이에, 배터리 A 25개를 표본으로 뽑아 조사하였더니, 평균 수명이 11개월이 나왔다고 한다. 어느 의견..
빽 투더 기본기 [알고&자구 7편]. 프림 알고리즘 그래프에서 최소 신장 트리를 만드는 알고리즘 중, 크루스칼과 더불어 유명한 프림(Prim) 알고리즘을 잠깐 정리해볼까 한다. 글 대부분의 내용은 프로그래밍 자료 저장소님의 블로그와 Michael Sambol의 유튜브를 참고하였다. 그래프에서 최소 신장 트리 만들기 프림 알고리즘은, 크루스칼 알고리즘 같이 어떤 그래프가 주어져있을 때, 이 그래프에서 최소 신장 트리 (Minimum Spanning Tree) 를 만드는 알고리즘이다. 최소 신장 트리에 대한 이야기는 이전 글인 크루스칼 알고리즘에 보면 나와있다. 프림 알고리즘을 위해서는, 역시 먼저 그래프가 주어져야 한다. 그리고 이 그래프에서, 우리는 정점과 인접 행렬에 대한 정보가 주어져야 한다. 프림(Prim) 알고리즘 알고리즘 알고리즘을 간단하게 정리..