fits rec에서 ndaray로 변환 할 때 정보 손실

주세페 앙고라

맞는 파일을로드하고 fitsrec데이터를 numpy 로 변환했습니다 ndarray.

import pyfits
import os, numpy as np
dataPath ='irac1_dataset.fits'

hduTab=pyfits.open(dataPath)
data_rec = np.array(hduTab[1].data)
data=data_rec.view(np.float64).reshape(data_rec.shape + (-1,))

데이터 nan에서 rec에 존재하지 않는 일부가 있음을 발견했습니다 .

data_rec[3664]
(2.52953742092, 3.636058484, -3.0, 1.16584000133, 0.13033115092, 0.0545114121049, 0.0977915267677, 0.0861630982921, 0.0935291710016)
data[3664]
array([  8.01676073e+230,  -1.68253090e-183,   1.10670705e-320,
        -5.38247269e-235,               nan,   3.19504591e+186,
        -6.19704421e+125,  -1.40287783e+079,   1.94744862e+094])

보시다시피 값이 크게 변경됩니다. 어떻게 가능합니까?

hduTab [1] .data 정보 :

data_rec = hduTab[1].data
>>> data_rec.dtype
dtype((numpy.record, [('entr_35_1', '>f8'), ('kurt_5_1', '>f8'), ('skew_23_1', '>f8'), ('skew_35_1', '>f8'), ('mean_23_2', '>f8'), ('mean_35_2', '>f8'), ('stdDev_23_1', '>f8'), ('stdDev_35_1', '>f8'), ('pixVal', '>f8')]))

numpy 레코드입니다

hpaulj

당신을 엉망으로 만드는 것은`> f8 '입니다.

In [380]: dt= [('entr_35_1', '>f8'), ('kurt_5_1', '>f8'), ('skew_23_1', '>f8'), 
     ...: ('skew_35_1', '>f8'), ('mean_23_2', '>f8'), ('mean_35_2', '>f8'), ('st
     ...: dDev_23_1', '>f8'), ('stdDev_35_1', '>f8'), ('pixVal', '>f8')]

In [382]: np.dtype(dt)
Out[382]: dtype([('entr_35_1', '>f8'),....('pixVal', '>f8')])

In [383]: np.array([(2.52953742092, 3.636058484, -3.0, 1.16584000133, 0.13033115
     ...: 092, 0.0545114121049, 0.0977915267677, 0.0861630982921, 0.093529171001
     ...: 6)],dtype=dt)
Out[383]: 
array([ ( 2.52953742,  3.63605848, -3.,  1.16584,  0.13033115,  0.05451141,  0.09779153,  0.0861631,  0.09352917)], 
      dtype=[('entr_35_1', '>f8'), ('kurt_5_1', '>f8'), ('skew_23_1', '>f8'), ('skew_35_1', '>f8'), ('mean_23_2', '>f8'), ('mean_35_2', '>f8'), ('stdDev_23_1', '>f8'), ('stdDev_35_1', '>f8'), ('pixVal', '>f8')])
In [384]: x=_

float보기는 가지고 nan와 인식 할 수없는 값을 :

In [385]: x.view(float)
Out[385]: 
array([  8.01676073e+230,  -1.68253090e-183,   1.10670705e-320,
        -5.38247269e-235,               nan,   3.19504591e+186,
        -6.19704421e+125,  -1.40287783e+079,   1.94744862e+094])

그러나 >f8입력 일치하는 보기 :

In [386]: x.view('>f8')
Out[386]: 
array([ 2.52953742,  3.63605848, -3.        ,  1.16584   ,  0.13033115,
        0.05451141,  0.09779153,  0.0861631 ,  0.09352917])

그런 다음 , (분명히 ) astype로 변환하는 데 사용할 수 있습니다 .float<f8

In [387]: _.astype(float)
Out[387]: 
array([ 2.52953742,  3.63605848, -3.        ,  1.16584   ,  0.13033115,
        0.05451141,  0.09779153,  0.0861631 ,  0.09352917])

In [389]: np.dtype('<f8')
Out[389]: dtype('float64')
In [390]: np.dtype('>f8')
Out[390]: dtype('>f8')

사용 astype은 까다로울 수 있지만 필드 레이아웃을 동일하게 유지하면 직접 사용할 수 있습니다. 그래서 나는 그것을 변경하는 데 사용할 수 있습니다'>f8' to

In [407]: dt1= [('entr_35_1', '<f8'), ('kurt_5_1', '<f8'), ('skew_23_1', '<f8'),
     ...:  ('skew_35_1', '<f8'), ('mean_23_2', '<f8'), ('mean_35_2', '<f8'), ('s
     ...: tdDev_23_1', '<f8'), ('stdDev_35_1', '<f8'), ('pixVal', '<f8')]
In [408]: x.astype(dt1)
Out[408]: 
array([ ( 2.52953742,  3.63605848, -3.,  1.16584,  0.13033115,  0.05451141,  0.09779153,  0.0861631,  0.09352917)], 
      dtype=[('entr_35_1', '<f8'), ('kurt_5_1', '<f8'), ('skew_23_1', '<f8'), ('skew_35_1', '<f8'), ('mean_23_2', '<f8'), ('mean_35_2', '<f8'), ('stdDev_23_1', '<f8'), ('stdDev_35_1', '<f8'), ('pixVal', '<f8')])

view필드 수를 변경하려면 계속 사용해야 합니다.

In [409]: x.astype(dt1).view(float)
Out[409]: 
array([ 2.52953742,  3.63605848, -3.        ,  1.16584   ,  0.13033115,
        0.05451141,  0.09779153,  0.0861631 ,  0.09352917])

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열에서 정수로 변환 할 때 선행 "0"0이 손실 됨

분류에서Dev

jpg 파일을 png로 변환 할 때 정보 손실이 있습니까?

분류에서Dev

UIImage에서 Mat로 변환 할 때 데이터 손실

분류에서Dev

UIImage에서 Mat로 변환 할 때 데이터 손실

분류에서Dev

StringBuilder가 String으로 변환 할 때 데이터 손실

분류에서Dev

Rust에서 usize를 f64로 변환 할 때 정밀도 손실을 인식하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

ceil, floor 및 round는 정수로 변환 할 때 정밀도 손실 문제를 충족합니까?

분류에서Dev

바이트 배열로 변환 할 때 이미지 데이터 손실

분류에서Dev

ANSI에서 UTF-8로 변환 할 때 iconv가 실패 함

분류에서Dev

Google Apps Script에서 Blob으로 변환 할 때 .xlsx 파일이 손상됨

분류에서Dev

Dataframe에서 문자열을 정수로 변환 할 때 ValueError

분류에서Dev

hdf5 데이터 세트에서 numpy 배열로 데이터를 전송할 때 정밀도 손실

분류에서Dev

varchar를 int로 변환 할 때 변환에 실패했습니다.

분류에서Dev

varchar를 datetime으로 변환 할 때 변환에 실패했습니다.

분류에서Dev

'sudo'로 실행할 때 환경 변수

분류에서Dev

replaceWith를 사용할 때 클래스 정보 손실

분류에서Dev

Android에서 스크롤 할 때 목록보기 edittext 데이터가 손실 됨

분류에서Dev

단위 테스트를 실행할 때 PyDev에서 환경 변수 설정

분류에서Dev

작업에 경로 매핑을 사용할 때 매개 변수 값이 손실됩니까?

분류에서Dev

nopcommerce 4.3에서 nvarchar 값 'abc'를 데이터 유형 int로 변환 할 때 변환에 실패했습니다.

분류에서Dev

SQL Server에서 varchar 값을 int 데이터 형식으로 변환 할 때 변환에 실패했습니다.

분류에서Dev

varchar를 INT로 변환 할 때 변환 실패

분류에서Dev

CASE 문에서 "nvarchar 값을 데이터 형식 int로 변환 할 때 변환 실패"

분류에서Dev

알림에서 활동으로 이동할 때 활동 상태 손실

분류에서Dev

서버에 업로드 할 때 파일 코드 형식이 손실 됨

분류에서Dev

DTS에서 AAC로 트랜스 코딩 할 때 오디오가 손실 됨

분류에서Dev

.webm 변환의 손실 / 무손실을 지정하는 방법 (ffmpeg에서)?

분류에서Dev

keras 사용자 지정 손실 함수 텐서로 변환시 값 오류

분류에서Dev

RGB에서 L * ab 색상으로 변환 할 때 부정확 한 값

Related 관련 기사

  1. 1

    문자열에서 정수로 변환 할 때 선행 "0"0이 손실 됨

  2. 2

    jpg 파일을 png로 변환 할 때 정보 손실이 있습니까?

  3. 3

    UIImage에서 Mat로 변환 할 때 데이터 손실

  4. 4

    UIImage에서 Mat로 변환 할 때 데이터 손실

  5. 5

    StringBuilder가 String으로 변환 할 때 데이터 손실

  6. 6

    Rust에서 usize를 f64로 변환 할 때 정밀도 손실을 인식하는 가장 좋은 방법은 무엇입니까?

  7. 7

    ceil, floor 및 round는 정수로 변환 할 때 정밀도 손실 문제를 충족합니까?

  8. 8

    바이트 배열로 변환 할 때 이미지 데이터 손실

  9. 9

    ANSI에서 UTF-8로 변환 할 때 iconv가 실패 함

  10. 10

    Google Apps Script에서 Blob으로 변환 할 때 .xlsx 파일이 손상됨

  11. 11

    Dataframe에서 문자열을 정수로 변환 할 때 ValueError

  12. 12

    hdf5 데이터 세트에서 numpy 배열로 데이터를 전송할 때 정밀도 손실

  13. 13

    varchar를 int로 변환 할 때 변환에 실패했습니다.

  14. 14

    varchar를 datetime으로 변환 할 때 변환에 실패했습니다.

  15. 15

    'sudo'로 실행할 때 환경 변수

  16. 16

    replaceWith를 사용할 때 클래스 정보 손실

  17. 17

    Android에서 스크롤 할 때 목록보기 edittext 데이터가 손실 됨

  18. 18

    단위 테스트를 실행할 때 PyDev에서 환경 변수 설정

  19. 19

    작업에 경로 매핑을 사용할 때 매개 변수 값이 손실됩니까?

  20. 20

    nopcommerce 4.3에서 nvarchar 값 'abc'를 데이터 유형 int로 변환 할 때 변환에 실패했습니다.

  21. 21

    SQL Server에서 varchar 값을 int 데이터 형식으로 변환 할 때 변환에 실패했습니다.

  22. 22

    varchar를 INT로 변환 할 때 변환 실패

  23. 23

    CASE 문에서 "nvarchar 값을 데이터 형식 int로 변환 할 때 변환 실패"

  24. 24

    알림에서 활동으로 이동할 때 활동 상태 손실

  25. 25

    서버에 업로드 할 때 파일 코드 형식이 손실 됨

  26. 26

    DTS에서 AAC로 트랜스 코딩 할 때 오디오가 손실 됨

  27. 27

    .webm 변환의 손실 / 무손실을 지정하는 방법 (ffmpeg에서)?

  28. 28

    keras 사용자 지정 손실 함수 텐서로 변환시 값 오류

  29. 29

    RGB에서 L * ab 색상으로 변환 할 때 부정확 한 값

뜨겁다태그

보관