Преобразование строк в массивы numpy для выполнения цикла for в линейной регрессии фрейма данных

#python #pandas #numpy #for-loop #linear-regression

Вопрос:

 import datetime
import numpy as np
from sklearn.linear_model import LinearRegression
import os
os.chdir(r'path')
df = pd.read_excel("test.xlsx")
print(df)
def process_date(date_str):
  # the date format is month-day-year
  d = datetime.datetime.strptime(date_str, '%m-%d-%Y')
  return d.timestamp()

df['Date'] = df['Date'].apply(process_date)
df.head()
for (columnName, columnData) in df.iteritems():
    cn = columnName
    cd = columnData
    print('Column Name : ', columnName)
    print('Column Contents : ', columnData.values)
X = np.array(cn).reshape(-1,1)
y = cd.to_numpy()
model = LinearRegression()
model.fit(X, y)
 

Ошибка значения: Не удается преобразовать массив байтов/строк в десятичные числа с помощью dtype=’числовой’

Вот мой набор данных введите описание изображения здесь

Комментарии:

1. Я что-то упускаю или вы никогда на самом деле не назначали переменные columnData и columnName

2. Вы были правы, я не поблагодарил за указание на это, все равно получаю ту же ошибку ValueError: Невозможно преобразовать массив байтов/строк в десятичные числа с помощью dtype=’числовой’

3. мой фрейм данных-это только один столбец дат, другой-продаж для каждого столбца

4. Не могли бы вы предоставить образец фрейма данных в качестве манекена в приведенном выше коде? Это бы очень помогло.

5. Эй @nhaus Я добавил фотографию образца своего набора данных