배열의 값을 반올림하고 longYearDig
값을 플로트에서 정수로 변환하려고합니다. 그러나 10 개의 값을 가진 배열을 입력 할 때 longYearDig
나는 pointyearDig
을 하나만 플로트시킵니다.For 루프에 배열을 입력 하나 하나의 플로트 만 빼내십시오.
내가 퍼팅 오전 : longYearDig = [ 98.32428472 98.32433235 98.32445675 98.32451913 98.32451913 98.32458141 98.32464367 98.32489267 98.32501715 98.32545376]
나는 밖으로 원하는 것은 :
이yearDig = [98, 98, 98, 98, 98, 98, 98, 98, 98, 98]
year = [1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998]
코드 :
import numpy as np
import math
import datetime
filename = 'zarya2.txt'
a = np.genfromtxt(filename)
evens = []
odds = []
for i in range(20): #2913*2
if np.mod(i,2) == 0:
evens.append(a[i,:])
else:
odds.append(a[i,:])
oddsArray = np.asarray(odds)
evensArray = np.asarray(evens)
'Four Digit Year'
longYearDig = evensArray[:,3] /1000
print 'longYearDig', longYearDig
for i in range(len(longYearDig)):
pointyearDig = math.floor(longYearDig[i])
print 'pointyearDig', pointyearDig
for i in range(len(pointyearDig)):
yearDig = int(pointyearDig[i])
print 'yearDig', yearDig
#yearDigit = 98
for i in range(len(yearDig)):
if yearDig > 17:
year = yearDig + 1900
else:
year = yearDig + 2000
print('year', year)
출력 :
longYearDig [ 98.32428472 98.32433235 98.32445675 98.32451913 98.32451913 98.32458141 98.32464367 98.32489267 98.32501715 98.32545376]
pointyearDig 98.0
File "/Users/mrmenzel/Desktop/orbits/zaryaISSdataTLE", line 93, in for i in range(len(pointyearDig)):
TypeError: object of type 'float' has no len()
이 오류는 아주 자명합니다. pointyearDig는 aarry가 아닌 float입니다. len()을 호출 할 수 없습니다. 나는 약간 혼란 스럽다. 왜 .0을 결국 원하니? –
나는 .0을 원한다. 정수로만 98을 원한다. 내 질문을 명확하게 업데이트 할 것이다. – Rose