AttributeError: 'numpy .ndarray' объект не имеет атрибута 'diff' - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть дата-фрейм данных, который я хочу дифференцировать, чтобы найти самые большие колебания. Когда я пробую df.diff, я получаю объект AttributeError: 'numpy .ndarray' не имеет атрибута 'diff'. Есть ли какой-нибудь способ, которым я могу дифференцировать это время и дату, или он будет работать, только если я удаляю даты и заменяю их на целые числа?

Примечание: я не хочу разницу во времени, просто разницу во времени.

fluc = PowerCurve()(df2010['FH'].iloc[0:743]/10)
fluc = fluc.diff(axis = 0, periods = 1)

ax.plot(df2010['Datetime'].iloc[0:743], fluc)

Полный файл выглядит так:

df_data2010 = pd.read_csv("P11-B2010.csv", skiprows=[1], usecols=[2,3,5])

df2010 = pd.DataFrame(columns = ['Datetime', 'FH'])

df1 = pd.to_datetime(df_data2010['YMD'], format='%Y%m%d')
df2 = df_data2010['   HH'].astype('timedelta64[h]')
df2010['Datetime'] = df1 + df2
df2010['FH'] = pd.to_numeric(df_data2010['   FH'], errors ='coerce')
del df1
del df2
del df_data2010

df2010['FH'] = df2010['FH'].interpolate()

V_jan2010 = df2010['FH'].iloc[0:743] / 10

fig, (ax) = plt.subplots()
ax.plot(df2010['Datetime'].iloc[0:743], V_jan2010, label='jan 2010')

fig, (ax1) = plt.subplots()
from Pcurve2 import PowerCurve

f = PowerCurve()

fluc = PowerCurve()(df2010['FH'].iloc[0:743]/10)
fluc = fluc.diff(axis = 0, periods = 1)

ax1.plot(df2010['Datetime'].iloc[0:743], fluc)
...