Python 查找pandas中许多datetime列之间的差异

Python 查找pandas中许多datetime列之间的差异,python,pandas,Python,Pandas,我有一个282列14000行的数据框。情况如下: 0 1 ... 282 uref_fixed 0006d730f5aa8492a59150e35bca5cc6 3/26/2018 7/3/2018 ... 00076311c47c44c33ffb834b1cebf5db 5/13/2018 5/13/2018

我有一个282列14000行的数据框。情况如下:

                                    0           1               ...     282
uref_fixed      
0006d730f5aa8492a59150e35bca5cc6    3/26/2018   7/3/2018        ...
00076311c47c44c33ffb834b1cebf5db    5/13/2018   5/13/2018       ...
0009ba8a69924902a9692c5f3aacea7f    7/13/2018   None            ...
000dccb863b913226bca8ca636c9ddce    11/5/2017   11/10/2017      ... 
我试图以索引0处的一列结束,该列显示每行中每个连续日期值之间差异的平均值(即第2列和第3列中的差异日期,然后是差异3和4,然后是差异4和5等,然后是所有这些值的平均值)

请注意,一行中最多可以有282个日期值,但正如您所看到的,许多日期值都较少

干杯


df2将保存所有连续的对差异。在此之后对行求平均值非常简单。

欢迎使用SO。请提供一份报告。这意味着没有图像/链接。在
None
值的情况下,您想做什么?例如,
2018年7月13日
None
之间的平均值是多少?一旦存在“None”,它将继续保持不变,因此该行中没有更多的时差值可获取,因此该行将完成该行。谢谢您的帮助。此解决方案返回ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all(),并确保选中左侧的绿色复选框!您好,再次感谢您的帮助,但仍然得到相同的错误我运行的每个测试用例都非常好
from datetime import datetime as dt
#df is your dataframe, df2 is a new one you have to initialize as empty
def diffdate(df, col1, col2):
    if df[col1]==None or df[col2]==None:
        return None
    date1 = [int(i) for i in df[col1].split('/')]
    date2 = [int(i) for i in df[col2].split('/')]
    return (dt(date2[2],date2[0],date2[1]) - dt(date1[2],date1[0],date1[1])).days
for i in range(len(df.columns)-1):
    df2[i] = df.apply(lambda x: diffdate(df, i, i+1),axis = 1)