Typeerror: требуется аргумент float, а не фрейм данных
Это мой полный код, и я не могу определить, что должно быть сделано для corr_value. На последнем шаге я получаю ошибку "TypeError: требуется аргумент float, а не DataFrame". Любая идея будет очень полезна
from sklearn.datasets import load_boston import pandas as pd boston = load_boston() dataset = pd.DataFrame(data=boston.data, columns=boston.feature_names) dataset['target'] = boston.target print(dataset.head()) X = dataset.drop('target', axis = 1 ) Y = dataset["target"] #Now the dataframe X has just the features that influence the target #print the correlation matrix for dataframe X. Use '.corr()' function to compute #correlation matrix #from the correlation matrix note down the correlation value between 'CRIM' and #'PTRATIO' and assign it to variable 'corr_value' corr_value = X.corr() print(corr_value.head()) import statsmodels.api as sm statsModel = sm.OLS(Y, X) fittedModel = statsModel.fit() print(fittedModel.summary())
Результаты регрессии OLS
==============================================================================
Деп. переменная: целевой R-квадрат: 0.959
Модель: OLS Adj. R-квадрат: 0.958
Метод: наименьшие квадраты F-статистика: 891.1
Дата: Пн, 02 июля 2018 Prob (F-статистика): 0.00
Время: 22:36:03 Логарифмическая Вероятность: -1523.8
Количество наблюдений: 506 AIC: 3074.
Остатки Df: 493 BIC: 3129.
Модель Df: 13
Тип ковариации: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Крим -0.0916 0.034 -2.675 0.008 -0.159 -0.024
ЗН 0.0487 3.379 0.014 0.001 0.020 0.077
Инд -0.0038 0.064 -0.059 0.953 -0.130 0.123
Час 2.8564 0.904 3.160 0.002 1.080 4.633
NOx в -2.8808 3.359 -0.858 0.392 -9.481 3.720
РМ 5.9252 0.309 19.168 0.000 5.318 6.533
Возраст -0.0072 0.014 -0.523 0.601 -0.034 0.020
Дис -0.9680 0.196 -4.947 0.000 -1.352 -0.584
Рад 0,1704 0,067 2,554 0,011 0,039 0,302
Налог -0.0094 0.004 -2.393 0.017 -0.017 -0.002
PTRATIO -0.3924 0.110 -3.571 0.000 -0.608 -0.177
Б 0.0150 5.561 0.003 0.000 0.010 0.020
LSTAT -0.4170 0.051 -8.214 0.000 -0.517 -0.317
==============================================================================
Омнибус: 204.050 Дурбин-Уотсон: 0.999
Prob(Omnibus): 0.000 Jarque-Bera (JB): 1372.527
Перекос: 1.609 Prob(JB): 9.11 e-299
Эксцесс: 10.399 Конд. № 8.50 е+03
==============================================================================
Предупреждения:
[1] стандартные ошибки предполагают, что ковариационная матрица ошибок задана правильно.
[2] номер условия большой, 8.5 e+03. Это может указывать на то, что существуют
сильная мультиколлинеарность или другие численные задачи.
r_squared = fittedModel.rsquared
###Конечный код(приблизительно 1 строка)
с открытым("output.txt", "w") в виде text_file:
текстовый файл.писать("Корр= %ф\п"% corr_value)
текстовый файл.write("rsquared= %f\n" % r_squared)
TypeError Traceback (most recent call last) <ipython-input-11-b55e673c78db> in <module>() 3 ###End code(approx 1 line) 4 with open("output.txt", "w") as text_file: ----> 5 text_file.write("corr= %f\n" % corr_value) 6 text_file.write("rsquared= %f\n" % r_squared) TypeError: float argument required, not DataFrame
Что я уже пробовал:
text_file.write("corr= %f\n"
Richard MacCutchan
Последняя строка в вашем примере кода является неполной. Также вы не объяснили, какая строка кода выдает ошибку.
Member 13895806
Теперь я обновил детали. Следующие строки выдают ошибку
----> 5 text_file.писать("Корр= %ф\п" % corr_value)
Richard MacCutchan
Я не знаю, из какого примера вы это скопировали, но это даже не похоже на действительный оператор Python. Если вы хотите использовать форматированный вывод, то см. 7. ввод и вывод — документация Python 3.7.0[^]