python - 在数据框行和列名中转换为日期时间时的不同输出(Pandas - Python)
问题描述
Pandas 的“to_datetime”方法允许我们将字符串转换为日期时间对象。尽管如此,这种方法在转换数据框行和列标签时似乎有不同的输出。
让 df 是一个数据框,在其行和列标签中具有相同的日期字符串:
import pandas as pd
d = {'01-01-2001': ['01-01-2001'], '02-02-2002': ['02-02-2002'],'03-03-2003': ['03-03-2003']}
df = pd.DataFrame(data=d)
现在让我们将这些数据转换为日期时间:
df.columns = pd.to_datetime(df.columns)
df.loc[0] = pd.to_datetime(df.loc[0])
列标签输出可读的日期时间数据,而行输出不同的格式。为什么?又应该怎么做才能获取数据框行中的可读数据呢?
解决方案
您可以使用 strftime 重新格式化日期
df.loc[0] = pd.to_datetime(df.columns).strftime(date_format='%Y-%m-%d')
输出
df
Out[400]:
2001-01-01 2002-02-02 2003-03-03
0 2001-01-01 2002-02-02 2003-03-03
推荐阅读
- c# - 如何将毫秒的日期时间存储到 C# 中的 DateTime 对象中?
- android - 照片已删除,但在拍摄新照片时又出现
- node.js - 如何在 mongooseJS 中将模式相互连接?
- php - 将 Blade 片段从一个 Laravel 包推送到另一个“父”包
- swift - How to start AVAudioPlayer without loading full buffer?
- ibm-watson - 我可以在 Watson Assistant 中使用什么表达式来表示特定日期的营业时间?
- reactjs - React Laravel - 文件显示状态但不在控制器中
- r - 将辅助轴从 0 设置为 1
- excel - 在选择案例中使用变量作为案例
- sql - SQL Oracle - 如果不满足某个条件,则将记录插入同一个表中