python - 如何获取熊猫中不同列的日期格式
问题描述
在我的 pandas 数据框中,我有 2 到 3 个不同的 DateTime 列。现在我想显示该日期列的格式
例子:
第 1 列 | 第 2 列 |
---|---|
2016-03-12 23:24:05 | 26-03-2016 上午 11:23:09 |
现在它应该打印格式: YYYY-MM-DD HH:MM:SS for Column1 和 DD-MM-YYYY HH:MM:SS AM for Column2
解决方案
我不知道任何解析日期时间格式的东西,strftime 和 strptime 也没有你显示的格式。您将不得不依赖默认格式并使用它们,您必须在字典中创建所有可能的格式和您的预期值。然后你可以在下面做:
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'}
推荐阅读
- amazon-web-services - 提取多页pdf文档
- regex - 如何在 Google 表格中使用正则表达式从文本中提取时间
- flutter - Flutter:函数返回null
- spring - 当“无法解析带有名称的视图”时如何隐藏打印信息?
- r - 如何在 r 中实现分数驱动的 Copula 模型
- python - 使用 utf-8 字符作为诅咒边框
- mysql - MySQL:查询以从同一个表中返回一些列+连接列值
- python - Python数组填充优化
- java - 我们如何创建一个算法来检查一个字符串是否是两个合并字符串的结果?
- c - 如何删除字符串中的第一个零?(不使用atoi)