나는 혼자 해결책을 찾기 위해 최선을 다했지만 관련성이있는 것은 아닙니다. 나는 .tbl 파일 (그것은 atpy로 추출하고있는 천문학적 인 테이블 형식)에서 추출한 몇 가지 질의없는 배열을 가지고있다. 각 배열에는 약 25,000 개의 숫자가 있으며, matplotlib를 사용하여 산점도로 그려 봅니다. y 축 값은 배열에서 바로 나오며, x 축은 두 개의 개별 배열에서 값을 간단하게 뺍니다.부등식을 사용하여 수치적인 배열을 분할하는 방법은 무엇입니까?
모두 괜찮습니다.하지만 실제로해야 할 일은 특정 범위에 해당하는 값을 추출하는 것입니다 (예를 들어, 10과 13 사이의 y 값과 0과 1). 줄거리가 작동하려면 물론이 값들이 서로 일치해야합니다.
import numpy as np
from numpy import ndarray
import matplotlib.pyplot as plt
import matplotlib
import atpy
twomass = atpy.Table()
twomass.read('/Raw_Data/IRSA_downloads/2MASS_GCbox1.tbl')
hmag = list([twomass['h_m']])
jmag = list([twomass['j_m']])
colorjh = list([j-h for j,h in zip(jmag, hmag)])
x = []
y = []
def list_maker():
for c,h in zip(colorjh, hmag):
if np.all(c) < 1 == True and np.all(c) > 0 == True and np.all(h) < 13 == True and np.all(h) > 10 == True:
x.append(c)
y.append(h)
list_maker()
plt.scatter(x, y, c='g', s=1, alpha=0.05)
plt.xlabel('Color(J-H)', fontsize=15) #adjust axis labels here
plt.ylabel('Magnitude (H)', fontsize=15)
plt.gca().invert_yaxis()
plt.legend(loc=2)
plt.title('CMD for Galactic Center (2MASS)', fontsize=20)
plt.grid(True)
plt.show()
내가 또한 데이터를 공격 태도를 보여준이 방법을 시도했지만 운이 : 저는 여기에있어 무엇 없습니다
colorjh = colorjh[colorjh<1]
colorjh = colorjh[colorjh>0]
내가 설정하는 노력을 포함하여, 다른 것들을 많이 시도했습니다 이러한 배열을 목록에 넣고, 불평등을 형식화하면서 많은 다른 것들을 만듭니다. 이 과정에서 필자는 대답에서 멀어 질 수도 있지만이 코드는 적어도 전체 분산을 인쇄합니다 (원하는대로 데이터를 잘라 내지 못합니다). 일부 반복 작업은 내가 원하는 번호 범위 근처에 아무 것도 인쇄하지 않은 빈 플롯을 가지고 있습니다.
저는 파이썬에 초보자입니다.이 사이트는 당신이 할 수있는 한 최대한 알려 주시기 바랍니다. 슈퍼 가르몬시라면 제안을 잘 활용하지 못할 수도 있습니다. 모두에게 감사드립니다.
그게 다야! 와우, 고마워. 큰 도움. – Teachey