반응형
반응형

[프로그래머를 위한 선형대수] Review (3~4)

Machine Learning|2022. 2. 8. 20:20
반응형

3. 컴퓨터에서의 계산 (1) - LU분해

이 장의 핵심은 행렬 A를 어떻게 해야 효율적으로 계산할 수 있을지에 대해 다루고

그에 대한 해결책으로 LU분해를 제시한다.

 

LU분해는 행렬 AL(하삼각행렬)U(상삼각행렬)의 곱으로 나타낸다

 

분해하면 무엇이 좋은가?

- 행렬식을 구하거나 일차방정식을 풀거나 하는 것이 간단해진다

 

행렬식

det A = det(LU) = det L* det U인데, L과 U의 행렬식은 대각 성분의 곱과 같으므로

det L은 1, det A = det U가 된다.

 

일차방정식

Ax = y 문제가 y에서 x를 찾는 문제였다면, LU분해에서는 LUx = y문제로 볼 수 있다.

y-> x의 과정에서 y -> z -> x 로 단계는 늘었지만 계산은 간단해졌다.

 

4. 고윳값, 대각화, 요르단 표준형 - 폭주의 위험이 있는지를 판단

이 장의 핵심은 시계열 데이터로 이뤄진 자기회귀모델이 발산하는지에 대한 여부를 판단한다.

이때 자기회귀 모델은 선형 사상 A와 초기값 x(0)의 행렬곱으로 표현 가능한데, 발산 여부를 판단하려면,

행렬 A이 대각화된 상태여야 한다. 

대각화에서 더 나아가 고윳값와 고유벡터 의미를 알면 된다.  

 

4.1 문제설정 : 안정성

자기회귀모델 ξ(t)가 어떤 상황에서도 폭주하지 않는가를 판정해야 한다.
이때 "폭주"는 발산함을 의미한다.
수학적인 개념으로는  고윳값, 고유벡터, 대각화, 요르단 표준형을 다룬다. 

ξ(t) = Aξ(t-1)를 x(t) = Λx(0) 로 나타냈을 때, (Λ는 대각 행렬)
Λ의 요소중 하나라도 절댓값 1보다 커지는 순간 폭주하게 된다.
등비급수의 합을 생각하면 이해가 쉽다.

 

 

4.4 대각화 할 수 있는 경우

<A가 대각행렬이 아닌 경우, 대각행렬로 바꿔야 함>

 

대각화를 변수변환 좌표변환 거듭제곱계산의 세가지 관점으로 바라보는데,

변수변환이 가장 직관적이고

좌표변환은 고유벡터를 기하학적으로 해석한 것과 같기에 변수변환으로 간단하게 설명해보겠다.

 

기존 x(t) = Ax(t-1)을 (A는 대각행렬이 아님)  

y(t) = Λ^t y(0) (Λ = P⁻¹AP) 로

적절한 P를 선택해 대각화(Λ) 한 후, 안정성 판단 후 다시 x로 바꿔주면 된다.

y에서 폭주하면 x에서도 폭주하는 것이기에 굳이 x로 바꾸어줄 필요는 없다.

 

4.5 고윳값, 고유벡터

어떠한 벡터 x에 선형변환 A를 취했을 때, 그 크기만 변하고 방향은 원래 벡터와 평행한 벡터 P는 무엇인가?

 

(Λ = P⁻¹AP)에서 (ΛP = AP) 로 생각해보면

AP의 의미는 벡터 P를 선형사상으로 옮긴 것이고,

ΛP의 의미는 P가 선형사상 A로 옮겨졌어도, 방향은 안 바뀌고 길이만 바뀐 것이기에

고윳값 Λ = diag(λ₁, λ₂ ...)ⁿ 로 그 길이를 등호에 맞게 맞춰준 것으로 이해할 수 있다.

 

 

4장을 다시 한번 정리하면
자기 선형 모델이 발산하는지를 판단하기 위해선 대각화된 A를 통해 알아야 하고,
이때 어떠한 x에서라도 발산이 되면 안 된다.
대각화의 과정에는 고윳값과 고유벡터의 개념이 연결되어있고 이를 알면 폭주의 위험을 판단할 수 있다.

 

이후 내용은 진도를 더 나가는 대로 작성하도록 하겠다.

반응형

댓글()

지금까지 캐글을 시작하지 못햇던 이유

Machine Learning|2022. 2. 7. 13:11
반응형

데이터 특성에 대한 이해가 선행되어야 하는데 무작정 데이터 정제 없이 머신러닝에 넣고 돌릴 생각만 하고 있었다.

EDA, 시각화 다 좋다 하지만 그전에 데이터 특성에 대한 아무런 이해가 없었는데 무슨 EDA를 하고 시각화를 하겠나,,

사이드 프로젝트건, 프로젝트건 앞으로 어떤 데이터를 다루든 간에, 해당 데이터의 각 특성이 무엇을 의미하는지

정확히 이해하는 게 선행되어야 한다.

 

지금 하려는 캐글 집값 예측 모델도, MSSubClass가 int 형이지만, 실상은 주거형태를 코드 형식으로 나타낸 것이고,

이러한 실상은 범주형인데 수치화된 특성을 어떻게 다룰지를 데이터 특성을 이해하면서 깨달아한다.

 

동일한 맥락으로 과도한 이상치는 어떻게 처리할 것인지 Q3로 조정할 것인지 아예 제거할 것인지도 생각해야한다.

 

시각화 또한 마찬가지이다. 

어떠한 데이터 특성인지 미리 알고 있다면, 어떠한 분포를 나타낼지 어느 정도는 예측이 가능할 것이다.

그게 안 될 때, 시각화를 하려는 것이지 무작정 모든 데이터를 시각화하려면 그게 끝이 보일 리가 없다.

시각화는 단지 데이터를 이해하고, EDA에 도움을 주는 tool 일 뿐이지 그것이 전부는 아니다.

 

데이터 특성을 이해하다 보면 특성의 개수를 줄일 수 있다는 확신을 얻게 된다.

간단한 예로 특성 중 방의 가로와 세로가 분리되어 2개의 특성으로 나타나 있다면, 

둘의 곱인 방의 넓이로 간단히 표현 가능하다. 

또한 한쪽에 치중되어 분포되어있는 특성은 크게 중요하지 않을 수도 있겠다란 생각이 들게 한다.

 

데이터 정제를 이런 식으로 진행하고 데이터를 머신러닝에 넣고 굴리든 말든 하지 

데이터 이론을 배우고 시각화를 배우고 머신러닝 딥러닝 케라스를 배우고

배우기만 하기에는 너무 할게 많다. 

캐글이 원하는 것은 이런 게 아니라는 것을 뒤늦게 깨닫고 다시 제대로 시작해보려 한다.

 

 

참고할 블로그

https://mazdah.tistory.com/878?category=598657 

 

[머신러닝 Reboot] 독해 - 핸즈온 머신러닝(2판) 2장

늘상 그래왔듯이…내 머릿속에는 온갖 잡다한 관심과 호기심들이 종횡무진 날아다닌다. 덕분에 뭔가 하나를 진득하니 진행할 수가 없다…ㅠ.ㅠ 핸즈온 머신러닝 2판을 일기 시작한 것이 언제인

mazdah.tistory.com

 

반응형

댓글()

[프로그래머를 위한 선형대수] Review (2)

Machine Learning|2022. 2. 5. 15:28
반응형

2. 랭크, 역행렬, 일차방정식

2장에서는 결과 y로 원인을 추적하는 내용에 대해 다룬다.

y와 x 공간을 자유자재로 오갈 수 있는지, 정보가 온전히 보전되는지 살펴본다.

 

 

2.1 역문제 - 결과 y를 통해 x를 추정하는 형태의 문제

 

2.2 성질이 좋은 경우

성질이 좋은 경우는 "정칙 행렬"이고, 정보가 온전히 보존된다.

 정칙행렬 : 역행렬이 존재하는 정방행렬 A
 특이행렬 : 정칙행렬이 아닌 행렬

y에 대한 역행렬 x를 구하는 방법에는 두 가지가 있다.
1. 변수 소거로 연립방정식 풀기
2. 블록행렬 표기로 풀기 (가우스 요르단 소거법)  
   (A|y) 에서 (I|X)로 만듦

위의 방법론으로 역행렬이 구하는 것이 중간에 막힐 때, 피보팅 혹은 기본 변형을 사용한다.

피보팅 - 두 행을 바꿈

기본 변형
행을 c배함 - 단위행렬(n, n)이고 성분이 c인 행렬 Q를 곱한다 - det Q = c
a행의 c배를 b행에 더함 - 단위행렬 (b, a) 좌표 성분이 c인 행렬 R를 곱한다. - det R = 1
a행과 b행을 바꿈 - 단위행렬 a행과 b행을 바꾼 S를 곱한다 - det S = -1

  

2.3 성질이 나쁜 경우

이전 차원에는 성질이 좋은 경우 = x, y 차원이 같으므로 사상 A가 정방행렬인 경우였다.

하지만 이제는 성질이 나쁜 경우, 결과 y를 알 때, 원인 x를 구해야 한다.

성질이 나쁘다 함은 y에서 x로의 변환이 불완전함을 의미한다.

 

1. 단서가 부족한 경우

y의 차원이 x보다 작아 x의 정보를 완전히 알 수 없는 경우
(x -> y일 때) 원래보다 차원이 작아지므로 사상 A는 납작하게 누르는 사상이 된다.
이 경우에는 정보가 누락된다

사상 A에 의행 y에 도달하는 Ax = 0을 만족하는 x의 집합을 Ker A
Ex) x1(1,1) x2(3,4) -> y1(0) , y2(0) 이면 Ker A는 x1, x2가 된다.

2. 단서가 많은 경우 

y차원이 x보다 커 y내에 노이즈가 있는 경우 단서끼리 서로 모순되는 문제가 생긴다.
"주어진 A에 대해 x를 여러모로 움직인 경우에 A로 옮기는 y = Ax의 집합을 A의 상이라고 한다"
책의 말 표현을 쉽게 바꿔보자면 사상 A에 의해 y 공간상으로 옮겨진 x집합들을 Im A라고 한다.
라고 하는 게 좀 더 잘 와닿지 않을까 싶다.


3. x, y 차원의 개수가 일치해도 A가 납작하게 만드는 사상이라면 성질이 나빠진다.

 

간단하게 요약하자면

1.은 차원이 x(원인)가 차원이 작은 y(결과)로 이동한 상태에서
y의 단서로 x를 다시 알아내야 하는 상황

2.은 차원이 작은 x(원인)가 차원이 y(결과)로 이동한 상태에서,
y+노이즈의 단서로 x를 다시 알아내야 하는 상황

 

 

 

차원정리

x은 n차원 y는 m차원
m x n 행렬 A에 대해  dim Ker A + dim Im A = n 만족

m<n (가로가 긴 A)이면 단사 불가능 
같은 결과 y가 나오는 원인 x가 단 하나가 될 수 없다.
차원이 줄어들면서 하나로 모여 버리기 때문이다.
위의 1.과 연결

m>n (세로가 긴 A)이면 전사 불가능
존재하는 모든 y에 대응하는 x가 존재할 수 없다.
차원이 증가하면서 x에 대응하는 y 말고, 삐져나온 y'가 추가로 있기 때문
위의 2.과 연결

'납작하게'를 식으로 표현한다면
x1 != x2 인데, Ax1 = Ax2 가 성립하는 x1, x2가 존재한다는 말이다
이러한 경우 A는 선형 종속이라 하고, 아닌 경우를 선형 독립이라고 한다.

사상 A 내 벡터 a3가 a1, a2에 의해 정의가 된다면 이를 선형 종속이라 본다.

 

랭크

Im A가 이동점(y)의 공간 전체를 커버할 수 있는가?

랭크란 Im A의 차원을 의미하고 rank A라고 쓴다.

Ker A가 o 뿐이라면 Ker A는 y로 이동하는 x는 o뿐
= Ker A는 0차원 => rank A = n -> A는 단사 "y에 매칭 되는 x는  둘"

Im A가 m차원 전체를 커버한다면 삐져나온 y'가 없어야 한다
-> Im A는 m차원 -> rank A는 m -> A는 전사 " y에 x가 매칭 됨"

랭크의 기본 성질 

1. rank A <= m, n
2. 정칙행렬을 곱해도 랭크는 변하지 않는다.
3. 전치해도 랭크는 동일하다.
4. 행렬 A가 선형 종속인 경우, 랭크가 m보다 줄어든다.

A가 A = BC로 분해되어 3차원 -> 2차원 -> 3차원 공간으로 이동했을 때,
차원이 한번 줄어들었으므로, 3차원 공간상에서 rank A = 2 가 된다.
이를 "잃어버린 정보는 다시 복원할 수 없다" 라고 표현한다.

Im A를 다시 생각해보면 , n차원 벡터 x를 여러모로 움직이는 경우 y = Ax의 움질 일 수 있는 범위이다.
span{a1 ... an}이라고도 쓰며, 벡터 a가 만드는 '선형 부분 공간'이라고 부른다.

랭크를 계산하는 방법은 연립방정식을 풀 때와 유사하다.
행렬 A의 대각 성분을 1이 되게 하고, 비대각 성분을 0으로 만드는 과정을 반복해나가면 된다.

 

반응형

댓글()

[프로그래머를 위한 선형대수] Review (1)

Machine Learning|2022. 1. 30. 16:14
반응형

도입 

데이터 사이언스에 있어서 선형대수는 필수라고 하기에 책 읽기를 시작했다

선형의 의미가 무엇인지, 어떤 부분에서 선형대수가 쓰이는지를 알아가는 것을 목표로 하겠다.

 

데이터를 공간 속의 이라고 생각하면 직관이 먹힌다.

선형대수는 선형적 (직선이나 평면처럼 곧은 것)을 다룬다.

곧기에 쉽고 예측하기 좋고 명쾌한 결과를 얻을 수 있다.

 

______________________________________________________________________________________________________________________________

1장 벡터, 행렬, 행렬식

 

[A] 벡터공간

 

등장하는 기본 개념

  • 벡터 - 화살표 또는 공간의 점
  • 행렬 - 공간에서 공간으로의 직교 사상
  • 행렬식 - 위의 사상에 따른 부피 확대율
  • 횡 벡터 - 가로 벡터
  • 종 벡터 - 세로 벡터
  • 벡터 연산 - 덧셈과 스칼라 배
  • 선형 공간 or 벡터 공간 - 덧셈과 정수배가 정이 된 세계로 길이나 각도가 정의되어있지 않다

 

  • 기저 - basis 벡터(선형 공간을 구성하는 최소한의 벡터)들의 집합

    <기저의 조건>
    1. 각 기저 벡터가 독립 = 나타내는 방법은 한 가지 = 토지 하나에 번지는 하나
    2. n차원 공간을 벡터로 (선형 결합) 표현 가능 = 기준 벡터에 번지를 매겨 위치를 정함
       = 어떤 벡터라도 기저 벡터로 나타낼 수 있음 = 모든 토지에 번지가 붙어있음

위 전체를 관통하는 간단한 예시
백두산의 높이를 3000m라고 표현했을 때, 3000은 좌표(번지), m는 기저(토지)이다.
만약 m(토지)가 feet로 바뀔 경우 9842.52(번지)도 바뀐다.

 

______________________________________________________________________________________________________________________________

[B] 행렬과 사상

등장하는 기본 개념

  • 정방 행렬 - n x n 꼴 행렬
  • 영행렬 = o
  • 단위행렬 = I
  • 대각 행렬 = diagonal
  • 역행렬 - AA^-1 = I를 만족하는 행렬 A^-1
    역행렬은 이동점 y를 가지고 원래점 x를 구하기 위함이다
    역행렬은 있을 수도 없을 수도 있다.
    ex ) y 공간이 납작하게 눌린 경우 원래점 x를 찾을 수가 없다

 

행렬이란 선형 사상을 좌표 성분으로 표시한 것이고, 행렬의 각 열은 기저 벡터의 목적지를 나타낸다

행렬(요소)과 벡터(요인)의 관계는 순수한 관계이다 y = Ax

 

순수한 관계란 상승효과나 규모에 의한 변화가 없다 

즉, 벡터의 덧셈과 정수배를 제대로 유지한다는 말이다.

 

사상이 같으면 행렬도 같다

같은 크기의 행렬 A, B가 임의의 벡터 x에 대해 항상 Ax = Bx를 만족한다면 A = B이다

 

________________________________________________________________________________________________________________

[C] 행렬식과 확대율

 

행렬식det A로 표기하고, y로 옮겨진 선형 공간의 부피 확대율을 의미한다.  

행렬식이 0이면 납작해짐을 의미하고 이때 역행렬은 없다

 

아래 두 가지의 경우 선형 공간이 납작해진다

 

두 열이 선형 관계인 경우, 기저 벡터 하나가 줄어들기에 차원이 줄어들고 납작해진다.

어딘가의 열이 모두 0인 경우, 기저 벡터 하나가 없는 상태이므로 납작해진다.

 

유용한 성질

  • 어느 열의 정수 배를 다른 열에 더해도 값은 안 바뀐다
  • 행렬식의 성질은 행과 열의 역할을 모두 바꿔도 (전치) 성립한다
  • 다중 선형성 : det(cA) = cⁿ det(A)
  • 두열을 바꾸면 부호가 역전된다 

 

행렬식 계산 방법은 다양한데 생략하겠다... 어차피 컴퓨터가 다해주니깐

 

________________________________________________________________________________________________________________

마무리

책을 문장을 하나하나 읽으면서 이해가 안 된다면, 될 때까지 읽어야 된다.

일본어를 한국어로 옮긴 번역본 책이라 그런지 문장 하나하나가 어수선하거나 한국말로 쓰여 있는데 말이 이상한 경우가 많았다.그러다 보니 하나의 챕터에서 전하고자 하는 내용은 정말 단순한 내용임에도, 읽으면서 매우 어렵게 느껴질 수 있다.이런 경우 다음 챕터로 넘어가기보다 해당 부분을 계속 읽어보고 안되면 다음날 읽어보고 이런 식으로 진행하면 어느 정도 답답함이 풀릴 것이다.

 

원래는 따로 노트에 필기하면서 책을 읽을 생각이었는데 추가로 블로그에 글을 쓰는 게 더 장기기억화 될 것 같고,체계를 잡으면서 공부를 하는 것이 좋을 듯해 블로그에도 글을 쓴다.

 

일반 강의에선 선형대수를 하나의 수학 과목처럼 느껴지고 개념이 데이터와 어떤 연관이 있는지 잘 이해는 안 갔으나,

이 책을 통해서 어느 정도 이해해 나가고 있다.

반응형

댓글()

금융데이터와 머신러닝의 결합 실패 이유 - Qraft Technoledge

Machine Learning|2022. 1. 8. 14:58
반응형

 

금융과 딥러닝 - 금융 영역에서의 딥러닝은 어떻게 다른가?



GIGO (쓰레기를 넣으면 쓰레기가 나온다)


1. 시계열 특성 자체의 노이즈

미래 주가 = 현재 주가 + 정보 + 노이즈로 구성되는데, 시장에 존재하는 노이즈가 정보량보다 크기 때문에

주가를 예측한다는 것은 상당히 어려운 작업이다.

 

머신러닝 초기에 LSTM으로 가격을 예측하는 프로젝트들이 상당히 많은데,

대부분의 결과가 오른쪽으로 lagging된 것을 확인할 수 있다.

이미 주가가 오른 시점 이후에 주가가 오를 거라고 예측하는 모습을 볼 수 있는데,

이는 다음 주가가 현재 주가에 크게 의존하기에 이런 현상이 발생한다.

 

따라서 노이즈를 줄이기 위해 디노이즈 과정 필요하다.

학습 이전 데이터를 정제하는 방법으로 디노이즈의 대표적인 방법으로 이동평균Bilateral filter가 있고,

학습과정에서 자동으로 노이즈를 제거할 방법으로 Qraft는 CNN기반 Autoencoder 기반 시계열을 디노이즈 모델을 선택했다. 

 

2. 시계열 특성 종류 대비 짧은 시계열 길이

 

주가데이터나 거래량 같은 자산군 데이터는 매일매일 바뀌는 값이기에 누적된 데이터양이 방대하다.

하지만 금리, 인플레이션, 장단기 금리차 등의 macro data는 데이터양이 상당히 부족하다.

월 단위로 40년가량의 데이터가 있다고 하면, 12 x 40 = 480개의 데이터를 가지고 머신러닝을 train 해야 한다.

(이를 차원의 저주라고 한다)

 

그렇다면 실제 데이터가 부족한데 어떻게 모델을 학습시킬 것인가? 에 대한 문제가 생길 것이고,

이에 대한 해결책으로 기존 퀀트가 모델을 만드는 방식을 제시한다.

경제적 함의점을 내포하는 모델 설계하면 된다.

경제적 함의점은 사람의 주관이 개입할 수 도 있고 구체화하기는 불가능하다. 따라서 모델을 설계해야 한다.

 

즉, 시장에 존재하는 high level 팩터를 분석해 문제점을 해결한다.

예로 12-1m 모멘텀, 자산군 모멘텀 효과, 자산군 평균 회귀 효과, 확장적 통화정책, 긴축적 통화 정채, 단기부채 사이클, 장기부채 사이클, dynamic factor rotation 등을 고려할 수 있다.

 

 

3. Overfitting 발생과 해결

 

train 결과 비슷한 cost이지만 시작점(weight초기화)에 따라 overfitting 정도가 다르다.

L1, L2 Norm을 써도 데이터가 부족해 overfitting방지가 어렵다.

따라서 동시에 다수의 머신러닝을 학습한다. (Asynchronous Multi Network Learning)

training 중 test data를 가지고 Overfitting을 체크하게 되면, look-ahead bias가 발생하기에

따라서 별도의 vaildation data로 오버 피팅 감지한다.

 

overfitting이 생기는 또 다른 이유는 지금처럼 저금리 시대의 데이터가 충분하지 않거나, 지금까지 관찰된 적이 없던 부분을

어떻게 예측해야 하는지, 소수에 데이터로 overfitting이 발생하는 부분을 어떻게 처리해야하는지 대한 문제이다.

물론 관찰되지 않은 부분은 모르겠다고 하는 게 가장 좋다.

이에 대해서는 어떻게 모르겠다고 해야하는지, 모르는 부분은 어떻게 처리하는지는 Bayesian Inference로 확실성을 구하고

이에 따라 불확실성이 크면 투자를 보수적으로 하면 된다.

 

그 밖에 overfitting의 방지하는 방법으로 다음의 세 가지 방법이 있는데 Qraft에선 3. 의 방법을 채택했다고 한다.

1. Monte Carlo Dropout

2. Monte Carlo Batch Normalization

3. Deep Learning Regression + Gaussian Process Regression

(선지도 학습 후 GPR 학습)

 

Overfitting의 정도를 측정하는 metrics으로 주로 t- test를 사용한다고 한다.

 

 

4. 투자 이외의 머신러닝 활용

자연어 처리로 기업의 수익 보고를 분석해서 새로운 secotr etf를 창출하기도 한다.



 

 

 

반응형

댓글()

Project : QQQ Price Predict

Machine Learning|2021. 10. 5. 19:50
반응형

다중 선형 회귀를 사용해 QQQ의 가격을 예측해보도록 하겠다.

Feature Data는 RSI, BTC, 10년 채권 수익률, 거래량, Vix 지수를 사용하였고, 데이터는 인베스팅 닷컴에서 구했다.

 

아래의 데이터를 정제 후 사용하였다.

data.csv
0.02MB

 

결론부터 미리 말하자면, predict의 결과는 매우 무의미한 예측이다.
사용한 특성은 qqq와 동시에 움직이기 때문에, 특성으로 사용하기에는 부족하다,

다만, 시장에 존재하는 지표들을 적절히 활용하면, 비슷하게 예측이 가능할지도 모르겠다.
예측의 결과와 실제의 패턴이 비슷한 듯 보이지만,
실제로는 예측의 결과가 실제를 흉내 내는 것에 불과하다고 생각한다.

이번 프로젝트를 하며 퀀트전략들을 제대로 공부해보고, 직접 알고리즘 매매를 시도해보고 싶어졌다. 

 

 

참고한 블로그 List

pandas data merge

 

19. pandas 추가 – 데이터 합치기 2가지 방식(merging, concatenating)

여러개의 파일을 DataFrame으로 받아들인 뒤, 서로다른 DataFrame을 하나로 합치는 방법은 2가지가 있다. 1. 공통된 하나의 열(또는 행)을 기준으로, 동일한 값을 가지는 행을 각 DataFrame에서 찾은 뒤 n

nittaku.tistory.com

add : x0 col 

 

[Python Pandas] 7. 열 추가, 값 수정, 데이터 합치기

오늘은 열 추가, 값 수정, 데이터 합치기에 대해 예제를 들어 설명하겠습니다. 1. 데이터 프레임 생성 [소스] import pandas as pd friend_dict_list = [ {'name': 'John', 'age' : 15, 'job' : 'student'}, {'nam..

nalara12200.tistory.com

feature order

 

[파이썬 pandas] 데이터프레임 컬럼 순서 변경, 추가, 이름 바꾸기

판다스를 사용하다 보면 생각보다 자주 필요한 기능이 칼럼의 순서를 바꾸고, 새 컬럼을 추가하고, 이름을 변경하는 것입니다. 사용법이 어려운 기능들은 아니지만 아직 pandas가 익숙하지 않은

hogni.tistory.com

pandas key index 접근

 

11. pandas DataFrame 인덱싱(열 / 행 / boolean 인덱싱)

DataFrame을 생성해보자. Series도 있지만, 주로 사용할 데이터는 DataFrame이다. 필요한 패키지들을 import해놓고, 아래와 같이 python 딕셔너리를 만들고, DataFrame을 만드는데, 인자로 columns를 주어 키값=

nittaku.tistory.com

 

반응형

댓글()