【发布时间】:2021-04-20 16:19:28
【问题描述】:
在我的 pandas 数据框中,我有 2 到 3 个不同的 DateTime 列。现在我想显示该日期列的格式
例子:
| Column1 | Column2 |
|---|---|
| 2016-03-12 23:24:05 | 26-03-2016 11:23:09 AM |
现在它应该打印格式: YYYY-MM-DD HH:MM:SS 用于 Column1 和 DD-MM-YYYY HH:MM:SS AM 用于 Column2
【问题讨论】:
在我的 pandas 数据框中,我有 2 到 3 个不同的 DateTime 列。现在我想显示该日期列的格式
例子:
| Column1 | Column2 |
|---|---|
| 2016-03-12 23:24:05 | 26-03-2016 11:23:09 AM |
现在它应该打印格式: YYYY-MM-DD HH:MM:SS 用于 Column1 和 DD-MM-YYYY HH:MM:SS AM 用于 Column2
【问题讨论】:
我不知道任何解析日期时间格式的东西,strftime 和 strptime 也没有你显示的格式。您将不得不依赖default formats 并使用它们,您必须在字典中创建所有可能的格式和您的预期值。然后您可以执行以下操作:
formats={'%Y-%m-%d %H:%M:%S':'YYYY-MM-DD HH:MM:SS',
'%d-%m-%Y %H:%M:%S AM':'DD-MM-YYYY HH:MM:SS AM'}
possibilities = pd.MultiIndex.from_product((df.columns,formats.keys()))
u = df.astype(str) #if the datetime columns are not strings already
d = {}
for i in possibilities:
try:
pd.to_datetime(u[i[0]],format=i[1])
d[i[0]] = formats.get(i[1])
except ValueError:
pass
print(d)
{'Column1': 'YYYY-MM-DD HH:MM:SS', 'Column2': 'DD-MM-YYYY HH:MM:SS AM'}
【讨论】: