2015-01-06 3 views
0

파일에서로드 된 데이터를 정규화하는 방법은 무엇입니까? 여기 내가 가진거야. 데이터는 다음과 같이 보입니다.파일에서 데이터로드 및 표준화

65535, 3670, 65535, 3885, -0.73, 1 
65535, 3962, 65535, 3556, -0.72, 1 

각 행의 마지막 값을 대상으로합니다. 데이터의 구조는 같지만 표준화 된 값을 갖고 싶습니다. 당신이 np.column_stack을 묻는있는 것 같습니다

dataset = [[normalized_X[0], y[0]],[normalized_X[1], y[1]],...] 
+1

'np'는 모듈처럼 보입니다 ('numpy'라고 가정합니다!?). 질문에 태그를 달아주세요. 한편으로 이것은 사람들이이 질문에 대해 더 잘 이해할 수 있도록 도와 주며 반면에 이것에 대해 더 깊은 지식을 가진 사람들의주의를 끌게합니다. :) –

+0

질문에 대해 (나는 numpy가 없으므로이 방법이 작동하는지 모르겠습니다.)'dataset = [a + b] a, b는 zip (normalized_X, y)]'(no 보장!) –

+0

고맙습니다. 거의 다 왔어. 출력은 '[(array ([1., 0.0202, 1., 0.0455, 0.2121]), 1.0), (array ([1., 0.0301, 1., 0.0255, 0.2273]), 1.0)]' . 이'array()'를 제거하고 외부 튜플의 요소를 단지 코마로 분리하는 법? – Spu

답변

1

:

import numpy as np 
dataset = np.loadtxt('infrared_data.txt', delimiter=',') 

# select first 5 columns as the data 
X = dataset[:, 0:5] 

# is that correct? Should I normalize along 0 axis? 
normalized_X = preprocessing.normalize(X, axis=0) 

y = dataset[:, 5] 

이제 문제는이 구조를 가지고, 다시 제대로 normalized_Xy을 포장하는 방법이다.

import numpy as np 
x = np.arange(25).reshape(5, 5) 
y = np.arange(5) + 1000 

우리에게 제공 : 예를 들어, 일부 더미 데이터 설정하자

X: 
array([[ 0, 1, 2, 3, 4], 
     [ 5, 6, 7, 8, 9], 
     [10, 11, 12, 13, 14], 
     [15, 16, 17, 18, 19], 
     [20, 21, 22, 23, 24]]) 
Y: 
array([1000, 1001, 1002, 1003, 1004]) 

을 그리고 우리가 원하는 :

New: 
array([[ 0, 1, 2, 3, 4, 1000], 
     [ 5, 6, 7, 8, 9, 1001], 
     [ 10, 11, 12, 13, 14, 1002], 
     [ 15, 16, 17, 18, 19, 1003], 
     [ 20, 21, 22, 23, 24, 1004]]) 

: 우리를 제공

new = np.column_stack([x, y]) 

을 더 적은 타이핑을 원하면 다음을 사용할 수도 있습니다 :

In [4]: np.c_[x, y] 
Out[4]: 
array([[ 0, 1, 2, 3, 4, 1000], 
     [ 5, 6, 7, 8, 9, 1001], 
     [ 10, 11, 12, 13, 14, 1002], 
     [ 15, 16, 17, 18, 19, 1003], 
     [ 20, 21, 22, 23, 24, 1004]]) 

그러나 나는 가독성 문제로 인해 대화 형 용도 이외의 다른 용도로 np.c_을 사용하지 않는 것이 좋습니다.

+0

정확히 무엇이 필요한가요? 고맙습니다. 예를 들어 인쇄 된 결과의 형식을 지정하는 방법에 대해 조언 해 줄 수 있습니까? 1.0000e + 00, 2.0000e + 00, 3.0000e + 00 대신에 '1, 2, 3' – Spu

관련 문제