我必须为任何csv文件编写一般情况的代码作为输入,不包含任何变量和记录。 我是这样开始的。我怎么继续?
import numpy as np
import pandas as pd
def get_data(file_name):
data = pd.read_csv(file_name)
para = int(raw_input('Enter the no of parameters to be used '))
print(para)
param= []
for k in range(0,para-1):
param[k]= raw_input('Enter the parameter')
rec = int(raw_input('Enter the no of records in the dataset '))
print(rec)
x_parameter = []
y_parameter = []
x1= []
for i in range(0,para):
for x1[i] in data[i]:
x_parameter[i].append(x1[i])
for j in range(0,rec):
print x_parameter[j]
print y_parameter[j]
get_data('C:\Python27\data.csv')
答案 0 :(得分:0)
首先,为什么不编码csv文件中的参数名称。您可以将它们作为列的标题,并且pandas将自动正确分配它们。接下来,您可以使用len(数据)来获取样本量,而不必键入此内容。
对于线性回归,您必须填写y_parameter或至少将其从pandas中分离出来。然后,您可以使用scikit-learn应用此处所述的线性回归:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
代码示例:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(x_parameter, y_parameter)