【问题标题】:How to read and plot two columns and plot them from a data file using python 3?如何读取和绘制两列并使用 python 3 从数据文件中绘制它们?
【发布时间】:2020-04-24 03:34:35
【问题描述】:

我使用的是 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 codigo 在线 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)

【问题讨论】:

    标签: python-3.x pandas dataframe matplotlib


    【解决方案1】:

    luv 列似乎丢失了。您可以通过以下方式进行检查:

    print(SED_OF.columns)
    

    这将打印数据框 SED_OF 的所有列。如果该特定列不存在,则可能是与 read_csv 相关的问题。 最后,.ix 已被弃用,您应该使用 .iloc 来选择特定的列。

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2021-11-10
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多