Python 通过数据帧进行交互

Python 通过数据帧进行交互,python,pandas,Python,Pandas,我想增加我的数据样本。我想把每小时的数据转换成5分钟的数据,通过重新采样并在小时之间用线性插值填充缺失的数据 ,数据帧有一个名为“CH”的列。我想遍历'CH'的每一行,并从当前行中减去下一行。我认为应该是这样的,但事实并非如此,有什么建议吗 import pandas as pd import numpy as np data = pd.read_csv('Wind_Locations.csv') length = len(data.CH) # create series with nans

我想增加我的数据样本。我想把每小时的数据转换成5分钟的数据,通过重新采样并在小时之间用线性插值填充缺失的数据

,数据帧有一个名为“CH”的列。我想遍历'CH'的每一行,并从当前行中减去下一行。我认为应该是这样的,但事实并非如此,有什么建议吗

import pandas as pd
import numpy as np

data = pd.read_csv('Wind_Locations.csv')
length = len(data.CH)

# create series with nans
new = pd.Series(np.empty(length*11-1) * np.nan)
# iterate over data's values and assign to every 12th value of new
for i in range(length):
    new.iloc[i*12] = data.iloc[i]
# fill in nans with interpolated values
new = new.interpolate()
我试着用 数据=pd.read_csv'Wind_Locations.csv' data.CH.重新采样'5min',how='sum'

但是我得到了错误类型error:仅对DatetimeIndex或PeriodIndex有效


有什么建议?

当考虑到后面和前面的行的计算时,你应该考虑使用Shift,这是设计的,谢谢!如果我想在每个原始行之间添加11行呢?您的意思是要将11行添加到一起,或者只是迭代12行,然后为每个原始行添加下一行?对于后一种情况,use data.CH.shiftMy现有数据是每小时的风速,即0:00、1:00、2:00…,我想创建一个新的数据帧,该数据帧每5分钟有一行,即0:00、0:05、0:10、0:15等。。。随着新的5分钟行在每个小时之间线性调整,好的,在这种情况下,您需要查看类似data.CH.resample'5min',how='diff'不确定它应该是diff还是sub我尝试了您的解决方案,但它给了我以下错误:AttributeError:'DataFrame'对象没有属性'iloc',这似乎对我有效,虽然不是很优雅,但它很有效:CH=pd.Seriesnp.emptylength*12*np.nan代表i,enumeratedata中的行。CH:CH[i*12]=data.CH[i]CH=CH.interpolateSorry代表延迟响应@andrewrmunro。我没有注意到使用标签联系用户。您的错误意味着您使用的是过时版本的Pandas。如果升级到最新版本,该示例将起作用。
import pandas as pd
import numpy as np

data = pd.read_csv('Wind_Locations.csv')
length = len(data.CH)

# create series with nans
new = pd.Series(np.empty(length*11-1) * np.nan)
# iterate over data's values and assign to every 12th value of new
for i in range(length):
    new.iloc[i*12] = data.iloc[i]
# fill in nans with interpolated values
new = new.interpolate()