我有以下数据框
df = pd.DataFrame({
'DATE1': ['NaT', 'NaT', '2010-04-15 19:09:08+00:00', '2011-01-25 15:29:37+00:00', '2010-04-10 12:29:02+00:00', 'NaT'],
'DATE2': ['NaT', 'NaT', 'NaT', 'NaT', '2014-04-10 12:29:02+00:00', 'NaT']})
df.DATE1 = pd.to_datetime(df.DATE1)
df.DATE2 = pd.to_datetime(df.DATE2)
我想创建一个新列,在两列中具有最小值(忽略 NaT),如下所示:
df.min(axis=1)
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
dtype: float64
如果我从每个单元格中删除时区信息(
+00:00
),则生成所需的输出,如下所示:0 NaT
1 NaT
2 2010-04-15 19:09:08
3 2011-01-25 15:29:37
4 2010-04-10 12:29:02
5 NaT
dtype: datetime64[ns]
为什么添加时区信息会破坏功能?我的数据集有时区,所以我需要知道如何删除它们作为解决方法。
最佳答案
这是个好问题,应该是 bug这里有时区
df.apply(lambda x : np.max(x),1)
0 NaT
1 NaT
2 2010-04-15 19:09:08+00:00
3 2011-01-25 15:29:37+00:00
4 2014-04-10 12:29:02+00:00
5 NaT
dtype: datetime64[ns, UTC]
关于python - 获取 Pandas 中多个日期时间列的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61090699/