728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 45: 실시간 데이터 가져오기

  • API를 주기적으로 호출하는 방법 (time.sleep).
  • 실습: 비트코인 현재 가격을 10초 간격으로 출력.

 

1. 개념 정리: API를 이용한 실시간 데이터 가져오기.

API란?

  • API(Application Programming Interface)는 웹 서버에서 데이터를 주고받는 방법
  • 코인 시세는 주로 암호화폐 거래소의 API를 이용해 가져옴
  • 대표적인 API 제공업체: Binance, Upbit, CoinGecko, CoinMarketCap

Python에서 API 호출 방법

  • requests 라이브러리를 사용해 API 데이터를 가져옴
  • time.sleep(초)을 이용해 일정 시간마다 반복 호출

2. 실습 코드: 비트코인 현재 가격을 10초 간격으로 출력

실행 환경: Python, requests, time

 

조금만 기다리면 다음 가격이 나온다.

 

3. 추가 기능

1. 다른 코인 가격도 함께 가져오기
2.  변동폭(이전 가격과 비교) 계산하여 상승/하락 표시
3.  가격 변화를 그래프로 실시간 표시 (Matplotlib)

1. 여러 코인의 가격 가져오기

업비트 API에서 다중 코인 가격 요청하기

2. 변동폭 계산 (이전 가격과 비교)

이전 가격과 비교하여 상승/하락 표시

3. 가격 변화를 그래프로 실시간 표시 (Matplotlib)

실시간 그래프 업데이트

 

뭔가 길어 보이지만 내용은 크게 없다

 

또 잘못했다. 두게의 가격 차이가 너무 커서 그래프의 의미가 없어졌다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 43: 통계 분석

  • 상관관계와 기초 통계 분석.
  • 실습: 가격 변동 폭과 평균의 상관관계 분석.

1. 기초 통계 분석

먼저, 코인 가격 데이터의 기본적인 통계 값을 확인.

 

실습 1: 기초 통계 값 계산

 

.describe()를 사용하면 평균(mean), 표준편차(std), 최소(min), 최대(max) 등의 정보를 확인할 수 있음.

아주 간단하게 확인이 가능하다.

 

2. 가격 변동폭 계산

가격 변동 폭(Price_Range)을 계산.

 

실습 2: 변동폭 추가

 

.diff()를 사용하면 하루 전 가격과의 차이를 구할 수 있음

 

3. 시각화: 가격 변동 폭 vs 평균 가격

실습 3: 산점도 그래프

 

중간에 안되는 것들이 많아 머리가 아팠지만 어떻게든 해결해 보았다.

 

산점도 그래프를 그려 보았다.

 

해석까지 읽고 가셔라.

 

그래프 해석 (Mean Price vs Price Range 산점도)

이 그래프는 비트코인(또는 다른 코인)의 평균 가격(Mean Price)과 가격 변동폭(Price Range)의 관계를 나타낸다.

 

1. 그래프 축 이해

  • X축 (Mean Price): 평균 가격
    • 각 점은 특정 시점의 평균 가격을 나타냄.
    • 가격 단위가 1.4e8 (1억 4천만) ~ 1.52e8 (1억 5천 2백만) 사이에 있음.
  • Y축 (Price Range): 변동폭(최고가 - 최저가)
    • 가격 변동폭은 0에서 6,000,000(600만)까지 변화.
    • 변동폭이 클수록 해당 기간 동안 가격 차이가 크다는 의미.

2. 데이터 패턴 분석

  • 변동폭(Price Range)이 큰 데이터가 평균 가격(Mean Price)과 상관없이 분포되어 있음.
  • 일부 구간에서 변동폭이 급격히 커짐(예: Mean Price ≈ 1.46e8 일 때 Price Range ≈ 6,000,000).
  • 변동폭이 작을 때도 평균 가격은 다양한 범위에 존재함 → 특정 구간에서 변동이 적게 일어남.

3. 시사점

  1. 가격이 높아질수록 변동폭이 증가하는 경향이 없음
    • 만약 평균 가격이 상승할수록 변동폭도 커졌다면 강한 상관관계가 있을 것.
    • 그러나 이 그래프에서는 가격이 높아도 변동폭이 작을 수 있고, 가격이 낮아도 변동폭이 클 수 있음.
    • 즉, 평균 가격과 변동폭 사이의 상관관계는 낮음.
  2. 일부 구간에서 급격한 변동이 발생
    • 특정 Mean Price(예: 1.46e8)에서 변동폭이 급격히 증가한 지점이 있음.
    • 이는 해당 시점에 급등락이 발생했을 가능성이 있음.
  3. 추가 분석 필요
    • 상관계수를 계산해 Mean Price와 Price Range 간의 관계를 수치적으로 확인 가능.
    • 시계열 그래프를 통해 변동폭이 특정 시점에 집중되는지도 확인 가능.

결론

  • Mean Price와 Price Range 간의 강한 상관관계는 없음.
  • 일부 특정 가격 구간에서 변동폭이 급격히 증가하는 현상 존재.
  • 추가적인 시계열 분석을 통해 변동 패턴을 더 자세히 살펴볼 필요가 있음.

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 41: 시각화 기초

  • Matplotlib과 Seaborn 사용법.
  • 실습: 코인 가격 변화를 선 그래프로 그리기.

1. Matplotlib으로 코인 가격 변화 그래프 그리기

비트코인 가격 데이터를 선 그래프로 시각화.

 

프로그램을 이렇게 만들 수 있다.

 

그래프는 저번과 같이 나왔다.

 

2. Seaborn을 활용한 시각적 개선

Seaborn을 사용하면 보다 깔끔하고 보기 좋은 그래프를 만들 수 있음.

 

프로그램은 위와 비슷하다.

 

위의 그래프에 비해 조금 더 단순화된 것을 볼 수 있다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

 
 
반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

 

  • Day 40: 데이터 정렬과 그룹화
    • sort_values와 groupby 사용법.
    • 실습: 날짜별 평균 가격을 계산하고 정렬.

1. 가격 데이터를 정렬 (sort_values())

비트코인 가격 데이터를 오름차순(낮은 가격 → 높은 가격) 또는 내림차순(높은 가격 → 낮은 가격)으로 정렬

 

2. 날짜별 평균 가격 계산 (groupby())

날짜별 평균 가격을 계산한 후, 정렬하여 출력.

 

3. 날짜 기준 정렬 (sort_values())

날짜별 평균 가격을 최신순(최근 날짜 → 과거 날짜) 또는 과거순(과거 → 최근)으로 정렬.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 39: 데이터 필터링

  • 조건에 따라 데이터 선택하기.
  • 실습: 특정 가격 이상인 데이터만 출력.

특정 가격 이상인 데이터 출력

비트코인 가격이 특정 금액(KRW) 이상인 데이터만 선택.

 

1월 16일 이후로 1척 4천만 원 이하로 떨어진 적 없다.

 

특정 날짜 이후의 데이터 선택

2025년 2월 1일 이후 데이터를 필터링.

 

여러 조건을 조합하여 필터링

145,000,000 KRW 이상이면서, 2025년 2월 이후 데이터만 선택.

 

매우 잘나왔다. 2월 4일 이후로 살짝 하락세인 것 같다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 38: Pandas 기본

  • 데이터프레임 구조와 기초 연산.
  • 실습: 코인 데이터에서 평균, 최댓값, 최솟값 구하기.

Pandas 데이터프레임 구조 이해

📌 데이터프레임(DataFrame)이란?
Pandas의 핵심 데이터 구조로, 엑셀 표와 비슷한 2차원 데이터 구조.

 

📌 데이터프레임 주요 속성

 

실습 : 코인 데이터에서 평균, 최대값, 최솟값 구하기

코인 데이터 CSV 파일 불러오기
✅ mean(), max(), min() 함수 활용
✅ 날짜별 가격 변동을 요약

 

먼저 CSV 파일를 새로 만들어 주었다.

 

그 후 CSV 파일을 활용하여 bitecoin의 평균가격, 최대, 최소가격을 출력해 보았다.

추가로 2가지만 더 해보겠다.

 

1. 최대값, 최솟값 날짜 출력

최고가와 최저가를 기록한 날짜를 찾기 위해 idxmax(), idxmin() 메서드를 사용

 

배운대로만 하면 가능하다.

 

2. matplotlib을 활용한 가격 변동 그래프

비트코인 가격 변동을 그래프로 시각화.

 

뭔가 많이 비어 보이지만 그래도 완성해 보았다.

오늘은 이만 

 

읽어주셔서 감사하다.

 
반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 37: 1주차 정리 및 복습

  • API 요청, JSON 처리, 데이터 저장 및 전처리 복습.
  • 간단한 프로젝트: 지정된 날짜 범위의 비트코인 가격 출력 프로그램.

목표:

  • API 요청, JSON 데이터 처리, 파일 저장, 데이터 전처리 복습
  • 지정된 날짜 범위의 비트코인 가격을 출력하는 프로그램 작성

복습 개념 정리

1. API 요청 & JSON 데이터 처리

  • requests.get(url, params)을 사용해 데이터를 가져옴
  • response.json()으로 JSON 데이터를 딕셔너리 형태로 변환

 

2. CSV 파일 저장 & 읽기

  • pandas.DataFrame.to_csv("파일명.csv") → CSV로 저장
  • pandas.read_csv("파일명.csv") → CSV 읽기

 

3. 데이터 전처리 (결측치 & 중복 제거)

  • dropna() → 결측치 제거
  • fillna() → 기본값 채우기
  • drop_duplicates() → 중복 데이터 제거

df.fillna({"Price": df["Price"].mean()}, inplace=True) # 가격 결측치 평균으로 채우기

df.drop_duplicates(inplace=True) # 중복 제거

실습: 지정된 날짜 범위의 비트코인 가격 출력

사용자가 입력한 날짜 범위에 해당하는 비트코인 가격 출력
1주일 기간을 설정해 가격 확인
CSV 파일에서 데이터 필터링 후 출력

 

Step 1: API에서 데이터 가져와 CSV 저장

 

Step 2: 날짜 범위 필터링 후 출력

 

프로그램은 지금까지 배운 것들을 이용하여 천천히 만들어보았다.

결과도 쉽게 쉽게 잘 나왔다.

part2의 첫번째 복습은 잘 끝났다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

 

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 36: 데이터 전처리

  • 결측치 처리와 중복 제거.
  • 실습: 누락된 데이터를 처리하고 정리된 데이터 출력.

결측치(누락된 데이터) 처리

데이터를 수집하다 보면 누락된 값(NaN, None, 빈 문자열) 이 존재할 수 있음.
Python의 Pandas 라이브러리를 사용하면 쉽게 결측치를 처리할 수 있음.

결측치 확인하기

 

결측치 처리 방법

  1. 결측치 제거 (dropna())
    • 데이터에서 NaN이 포함된 행을 삭제.
     

 

2.결측치 채우기 (fillna())

  • 평균값, 특정 값으로 채우기 가능

 

중복 데이터 제거

데이터가 중복으로 수집될 수도 있으므로 중복 행을 제거해야 합니다.

중복 확인 및 제거

 

실습: 코인 가격 데이터에서 결측치 처리 및 중복 제거

 

이렇게 프로그램을 만들었고

파일을 찾았다.

결과는 어제와 크게 다른 것 없다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 35: 날짜와 시간 다루기

  • Python의 datetime 라이브러리 이해.
  • 실습: API에서 가져온 데이터를 날짜별로 정렬

datetime 라이브러리 기초

Python의 datetime 모듈을 사용하면 날짜 및 시간을 쉽게 다룰 수 있습니다.

✅ 현재 날짜와 시간 가져오기

 

✅ 문자열을 날짜로 변환 (strptime)

 

✅ 날짜를 문자열로 변환 (strftime)

 

실습: API에서 가져온 데이터를 날짜별로 정렬하기

API에서 가져온 데이터를 날짜 순으로 정렬하고 CSV로 저장

 

저번엔 코인 별로 저장되었다면 이번엔 날짜별로 저장하였다.

 

파일을 찾아서 열어 보았고 잘 된 것을 확인할 수 있었다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 34: 데이터 읽기

  • CSV 파일을 읽고 Pandas 데이터프레임으로 변환.
  • 실습: 저장된 데이터를 읽고 출력.

1. CSV 파일 읽기 (pandas.read_csv())

저장된 crypto_prices.csv 파일을 불러와서 데이터를 분석할 수 있음.

 

2. 데이터 정보 확인 (.info(), .describe())

데이터의 전체적인 구조와 통계를 확인하는 방법.

 

3. 특정 코인의 데이터만 조회하기 (.loc[])

비트코인 데이터만 가져오려면 **.loc[]**을 사용.

4. 날짜별 가격 변동 확인하기 (groupby)

코인별 평균 가격을 계산할 수도 있음.

 

뭔가 가격이 이상하다. 고칠 의욕이 없다. 나중에 다시 해보겠다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형

+ Recent posts