Использование оператора IF для разделения отрицательных и положительных значений, прочитанных из текстового файла - PullRequest
0 голосов
/ 13 января 2020

В следующем коде I содержит положительные и отрицательные значения. Я хочу использовать только положительные или отрицательные. Я определил IF, но он не работает, и снова в конечном графике у меня есть все отрицательные и положительные значения. Любая помощь, пожалуйста?

n, t, I = np.genfromtxt('...Desktop/uf/Inu3.txt',unpack=True)
if (I>0).any():
        df=pd.DataFrame(data={'A':n,'B':t,'C':I})
        points = plt.scatter(df.A, df.B, c=df.C,cmap="jet", lw=0)#, norm=matplotlib.colors.LogNorm())
        plt.yscale('log')
        plt.xscale('log')

        plt.xlabel(r'$n_{g}$',fontsize=20)
        plt.ylabel(r'$T_{g}$',fontsize=20)
        cb = plt.colorbar()
        cb.ax.tick_params(labelsize=10)
        cb.set_label(label=r'$I_{\nu}[Jy/sr]$', size='15')
else:
    pass

1 Ответ

1 голос
/ 13 января 2020
if (I>0).any()

В основном спрашивает, есть ли положительное число в I. поэтому, если существует хотя бы одно положительное значение, вы используете все значения в нем.

try:

df = pd.DataFrame(data={'A':n,'B':t,'C':I})
df = df[df['C']>0]

Это сохранит только те строки, где I положительное

...