我有一个熊猫系列如下:
value0 value1 value2 value3 value4 value5
0 2020-10-22 2020-10-22 2020-10-22 2020-10-22 2020-12-02 2020-12-03
值为 Datetime.date 对象
我需要找到日期更改时的列名或索引。 所以输出将是 ["value0" , "value4" , "value5"]
我该怎么做?
答案 0 :(得分:0)
如果输入 s
则 Series
如有必要,首先转换为日期时间,然后通过 Series.diff
获取差异,比较不等于 0
并通过此掩码过滤索引值:
#if input is one row DataFrame
#s = df.T.iloc[:,0]
s = pd.to_datetime(s)
mask = s.diff().dt.days.ne(0)
#alternative
#mask = s.diff().ne(pd.Timedelta(0))
out = mask.index[mask].tolist()
print (out)
['value0', 'value4', 'value5']