Как прочитать и построить две колонки и построить их из файла данных, используя python 3? - PullRequest
0 голосов
/ 24 апреля 2020

Я использовал python 2, но я пытаюсь преобразовать в python 3, однако я застрял, потому что после того, как я прочитал файл, используя pd.read_csv, я получил следующую ошибку NameError: имя 'luv_OF' не определено. в python 2 я читаю каждый столбец как luv_OF = data.ix [: 0]

Я пытаюсь выполнить шаг, но он не работает в Colab Google https://ourcodingclub.github.io/tutorials/pandas-python-intro/

Я ценю любую помощь

Ver este codi go онлайн https://colab.research.google.com/drive/1yHFT3nI3yQpZyvTQYdUrX0qf9dYfXE-x

Данные для построения графика luvlx_OF.tsv https://drive.google.com/file/d/1qMdFS0sFRJEHBIezrkhc5dysulpFS4lI/view?usp=sharing

#Subir archivo 
from google.colab import files
uploaded = files.upload()

import numpy as np
#from numpy import *
import pylab
import pandas as pd
from statsmodels.formula.api import ols
import statsmodels.api as sm
import matplotlib.pyplot as plt
#matplotlib.style.use('ggplot')
#######a cvs or tvs file() para Python 3
SED_OF = pd.read_csv("luvlx_OF.tsv",sep = '\t')
#####leyendo las columnas con python 2
#tipo_OF=SED_OF[:,3]
#lx_OF=SED_OF[:,2]
#luv_OF=SED_OF[:,1]
#name_OF=SED_OF[:,0]
print(SED_OF.luv)

# Parte 4: De manera automática, se encontran el mejor ajuste a los datos 

# ajustar a los  datos con un polinomio  de grado 1 (lineal)
z1 = np.polyfit(luv_OF,lx_OF, 1)
# construye el polinomio 
p1 = np.poly1d(z1) 

# encontrando el valor de la pendiente y ordenada (coeficientes de linea recta)
print("")
print("")
print("Atención, estos son los resultados")
print("Coeficientes de funcion Lineal a*X +b")
print(z1)

#generando las variables independientes
# la variable va desde 0 hasta 5,  con 100 divisiones
luvx = np.linspace(40, 45, 100)
lx1=luvx
luvxx = np.linspace(42, 45, 100)
lx15=luvx-1.526

#Imprimir y ver los resultados de la estadistica
# Create a data frame containing all the relevant variables
#data = pd.DataFrame({'x': x, 'z5': y})
#model = ols("x ~ z5", data).fit()
#print(model.summary())
results = sm.OLS(p1(luv_OF), luv_OF).fit()
print("Estadistica del Mejor ajuste LINEAL")
print(results.summary())

#plotting Omaira Style for final Source
fig = plt.figure(figsize = (8,8))
plt.plot(luv_OF, lx_OF,'rD',markersize=14.,markeredgewidth=1,label ="OF")
plt.ylabel(r'y',fontsize = 35)
plt.xlabel(r'x',fontsize = 35)
plt.xticks(size = 30,rotation = 0)
plt.yticks(size = 30,rotation = 0)
plt.legend(['OF'],fontsize=16,numpoints=1)
#########comentarios sobre la grafica
ax = fig.add_subplot(111)
ax.annotate('annotate', xy=(41, 44), xytext=(41, 44),
            arrowprops=dict(facecolor='black', shrink=0.0005))
########end comentarios
plt.tight_layout(True)

enter image description here

1 Ответ

0 голосов
/ 24 апреля 2020

Похоже, что столбец luv отсутствует. Вы можете проверить это, выполнив следующее:

print(SED_OF.columns)

При этом будут напечатаны все столбцы кадра данных SED_OF . Если указанный столбец c отсутствует, возможно, это проблема, связанная с read_csv . Наконец, .ix устарела, и вы должны использовать .ilo c для выбора определенных c столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...