我有问题,当我重新采样数据帧索引时,日期更改!!。
>>>dpvis=dpvi.Puissance.resample('10min').mean()
>>> dpvi.head()
Puissance
Date
2016-05-01 00:00:00 0
2016-05-01 00:05:00 0
2016-05-01 00:10:00 0
2016-05-01 00:15:00 0
2016-05-01 00:20:00 0
>>> dpvis.head()
Date
2015-06-14 00:00:00 0.0
2015-06-14 00:10:00 0.0
2015-06-14 00:20:00 0.0
2015-06-14 00:30:00 0.0
2015-06-14 00:40:00 0.0
Freq: 10T, Name: Puissance, dtype: float64
>>>
答案 0 :(得分:0)
以下是resample()
假设您的dtypes
正确无误的示例,5min
可以正常使用您提供的数据。这不是你问题的答案,但它可以作为一种健全性检查。
首先,以import pandas as pd
Date = pd.date_range("2016-05-01", "2016-07-01", freq="5min", name='Date')
Puissance = {'Puissance': np.zeros(len(Date), dtype=int)}
df = pd.DataFrame(Puissance, index=Date)
df.head()
Puissance
Date
2016-05-01 00:00:00 0
2016-05-01 00:05:00 0
2016-05-01 00:10:00 0
2016-05-01 00:15:00 0
2016-05-01 00:20:00 0
df.shape # (17569, 1)
df.index.dtype # datetime64[ns]
df.Puissance.dtype # int64
间隔生成两个月的样本数据:
10min
现在重新采样到resampled = df.Puissance.resample('10min').mean()
resampled.shape # (8785,)
间隔:
df.resample('10min').mean()
注意:resampled.head()
Date
2016-05-01 00:00:00 0
2016-05-01 00:10:00 0
2016-05-01 00:20:00 0
2016-05-01 00:30:00 0
2016-05-01 00:40:00 0
Freq: 10T, Name: Puissance, dtype: int64
resampled.tail()
Date
2016-06-30 23:20:00 0
2016-06-30 23:30:00 0
2016-06-30 23:40:00 0
2016-06-30 23:50:00 0
2016-07-01 00:00:00 0
Freq: 10T, Name: Puissance, dtype: int64
也会在此处给出相同的结果。
dtype
重新取样按预期工作
这表明您的head()
声明或您的Puissance
输出中未显示的观察格式存在问题。
一条线索可能是您的0
值以整数(0.0
)开头,但重新采样为浮点数(Puissance
)。如果您的所有mean
值均为零值整数,则dtype
输出int64
也将为mean()
,如上所示。 (dtype
通常会返回float64
from tkinter import *
def opposite(buttonA):
print("running Opposite")
if buttonA.get() == 0:
buttonB.set(1)
elif buttonA.get() == 1:
buttonB.set(0)
root = Tk()
buttonA=IntVar()
buttonA.set(1)
buttonAchk = Checkbutton(root, variable=buttonA)
buttonAchk.pack()
buttonAlabel = Label(root, width=30, text="Button A")
buttonAlabel.pack()
buttonB=IntVar()
buttonB.set(0)
buttonBCheck = Checkbutton(root, variable=opposite(buttonA))
buttonBCheck.pack()
buttonBlabel = Label(root, width=30, text="Button B")
buttonBlabel.pack()
root.mainloop()
,如果平均值不完全相同。)您的示例数据可能无法代表您尝试解决的实际问题 - 如果所以,请考虑使用更具代表性的示例来更新您的帖子。