我需要计算两个日期之间的差异,但我需要为每一对行计算,然后将其保存在一个 excel 文件中,例如:
东风:
B
0 2018-02-11 12:14:25 #1st row
1 2018-02-11 12:15:30 #2nd row
2 2018-02-11 12:15:54 #3rd row
3 2018-02-11 12:16:11 #4th row
我的程序需要从第一行中减去第二行,从第三行中减去第四行。
到目前为止,这是我的代码:
import pandas as pd
df = pd.read_excel('test.xlsx',header=0, index= False)
sub ='chan_avail'
df["Indexes"]= df["A"].str.find(sub)
df["B"]=df['Time'].where(df['Indexes'] == 0)
df1 = df.dropna(subset=['B'])
#print(df1)
df2 = df1.reset_index(drop=True, inplace=True)
df1['B'] = pd.to_datetime(df1['B'])
#print(df1)
xx=len(df1.index)
for i in range(xx):
if i % 2 == 0:
print('!!') #test
df1['diffB'] = df1['B'] - df1['B'].shift(-1)
print(df1)
df1.to_excel('output.xlsx', 'Sheet1', index=True)
如果索引是对的,我打算做的是计算行之间的差异,但它不起作用。此外,当我尝试在 excel 中保存时间差时,我得到了 0,但在 python 的控制台中,我得到了正确的值,但如果我添加,df1['diffB'] = pd.to_datetime(df1['diffB'])我得到的结果不正确。
谢谢您的帮助。