我正在将excel读入pandas,除第一个列标题外,所有列标题都是datetime。我想格式化datetime列标题。你知道吗
这是测试数据和代码。你知道吗
import pandas as pd
import datetime
d = {
datetime.datetime(2018, 01, 31, 8, 00): [9.1, 8.5, 7.4, 6.5, 5.3],
datetime.datetime(2018, 02, 28, 9, 00): [9.2, 8.5, 7.2, 6.1, 5.2],
datetime.datetime(2018, 03, 31, 10, 00): [9.3, 8.5, 7.1, 6.1, 5.1],
'ID': [1, 2, 3, 4, 5],
}
df = pd.DataFrame(d, columns= ['ID', datetime.datetime(2018, 01, 31, 8, 00), datetime.datetime(2018, 02, 28, 9, 00), datetime.datetime(2018, 03, 31, 10, 00)])
df.loc[:, df.columns != 'ID'].columns = [x.date() for x in df.loc[:, df.columns != 'ID'].columns]
我想格式化日期时间头只是日期。例如:将2018-01-31 08:00:00
更新为2018-01-31
。你知道吗
我正在使用.date()
函数来实现这一点。我认为我的做法是错误的。
下一行不更新datetime列标题。你知道吗
df.loc[:, df.columns != 'ID'].columns = [x.date() for x in df.loc[:, df.columns != 'ID'].columns]
谢谢。你知道吗
输出:
由于pandas的版本是0.15.0,您可以使用^{} 访问器来获取日期(忽略时间),它将返回
datetime.date dtype
相关问题 更多 >
编程相关推荐