Следующий фрагмент кода работал нормально, пока я не добавил пару строк кода, которые ссылаются на дату, но не добавляют и не изменяют ее над ней. с простым случаем настройки
date = ['1/1/2001','1/1/2001','1/1/2001','1/1/2001']
код
import pandas as pd
ProdDate = ['1/1/2001','1/1/2001','1/1/2001','1/1/2001']
df = pd.DataFrame(ProdDate, columns = ['Date'])
работает нормально. вот почему это сбивает с толку, потому что теперь дата представляет собой список из 250 000 значений, который работал без проблем, пока я не добавил несколько строк кода выше, и теперь эта строка возвращает результат
AttributeError: 'str' object has no attribute 'DataFrame'
который я не могу воспроизвести в простом случае, что бы я ни делал.
РЕДАКТИРОВАНИЕ
несколько строк кода
for i in range(0,len(UniqueAPI)):
for j in range(0,len(API)):
if UniqueAPI == API[j]:
index = j
pd = PDays[j]
g = vG[j]
o = vO[j]
c = vC[j]
lhs, rhs = str(ProdDate[j]).rsplit("/", 1)
daycounter = 0
start = 365 - int(pd)
if clndr.isleap(int(rhs)):
calDays = LeapDaysInMonth
else:
calDays = DaysInMonth
break
for j in range(0,12):
daycounter = daycounter + DaysInMonth[j]
if daycounter - start >= 0:
m = j
break
for j in range(0,12):
if m == 0:
break
if j < m:
Liq[index+j] = 0
Gas[index+j] = 0
else:
if clndr.isleap(int(rhs)):
days = 366
Gas[index+j] = (g/days)*LeapDaysInMonth[j]
Liq[index+j] = (o/days)*LeapDaysInMonth[j] + (cndval/days)*LeapDaysInMonth[j]
else:
days = 365
Gas[index+j] = (g/days)*DaysInMonth[j]
Liq[index+j] = (o/days)*DaysInMonth[j] + (c/days)*DaysInMonth[j]
Подробнее здесь: https://stackoverflow.com/questions/343 ... -dataframe
Python AttributeError: объект «str» не имеет атрибута «DataFrame» [дубликат] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение