将所有日期列相减(以排列方式)并将其存储在新的pandas DataFrame中的方法如下:
import pandas as pd
import numpy as np
data = {'Date1': ['2022-01-01', '2022-01-02', '2022-01-03'],
'Date2': ['2022-01-04', '2022-01-05', '2022-01-06'],
'Date3': ['2022-01-07', '2022-01-08', '2022-01-09']}
df = pd.DataFrame(data)
df['Date1'] = pd.to_datetime(df['Date1'])
df['Date2'] = pd.to_datetime(df['Date2'])
df['Date3'] = pd.to_datetime(df['Date3'])
diff_df = pd.DataFrame()
for i in range(1, len(df.columns)+1):
for j in range(i+1, len(df.columns)+1):
diff_col_name = df.columns[i-1] + '-' + df.columns[j-1]
diff_df[diff_col_name] = (df.iloc[:, i-1] - df.iloc[:, j-1]).dt.days
print(diff_df)
上述代码将计算所有日期列的差值,并将结果存储在一个新的pandas DataFrame中。注意,这里假设日期列的顺序与它们在DataFrame中的列顺序相同。
关于pandas和日期处理的更多信息,你可以查看腾讯云文档中关于pandas的介绍和使用方法。
领取专属 10元无门槛券
手把手带您无忧上云