Pandas:在pandas中删除DateTime索引的时间部分

Pandas:在pandas中删除DateTime索引的时间部分

在本文中,我们将介绍如何使用pandas从DateTime索引中删除时间部分。在某些情况下,我们可能只需要Date部分,而不需要Time部分。例如,在某些时间序列分析中,我们可能只对日期感兴趣,而不关心具体的时间。在这种情况下,通过删除时间部分可以简化数据集,并使进一步分析更容易。

假设我们有以下时间序列数据:

import pandas as pd
import numpy as np

dates = pd.date_range('20210101', periods=5, freq='D')
df = pd.DataFrame(np.random.randn(5,3), index=dates, columns=list('ABC'))
print(df)
Python

输出结果为:

                   A         B         C
2021-01-01 -0.347152 -0.885214 -0.370168
2021-01-02 -0.234443 -0.172741 -1.174123
2021-01-03 -0.183909  0.475639  0.862927
2021-01-04  0.417592  0.103616 -1.295684
2021-01-05  1.928849  0.656772  0.092862
Python

我们可以看到,索引包括日期和时间部分。如果我们只需要日期部分,我们可以使用normalize函数来删除时间部分:

df.index = df.index.normalize()
print(df)
Python

输出结果为:

                   A         B         C
2021-01-01 -0.347152 -0.885214 -0.370168
2021-01-02 -0.234443 -0.172741 -1.174123
2021-01-03 -0.183909  0.475639  0.862927
2021-01-04  0.417592  0.103616 -1.295684
2021-01-05  1.928849  0.656772  0.092862
Python

我们可以看到,索引现在只包含日期部分,时间部分被删除了。

另一种方法是使用strftime函数。该函数允许我们将DateTime对象格式化为所需的字符串,并返回一个字符串。我们可以使用”%Y-%m-%d”来表示日期部分:

df.index = df.index.strftime('%Y-%m-%d')
print(df)
Python

输出结果为:

                   A         B         C
2021-01-01 -0.347152 -0.885214 -0.370168
2021-01-02 -0.234443 -0.172741 -1.174123
2021-01-03 -0.183909  0.475639  0.862927
2021-01-04  0.417592  0.103616 -1.295684
2021-01-05  1.928849  0.656772  0.092862
Python

我们可以看到,索引现在只包含日期部分,时间部分被删除了。

另外,如果我们只想保留时间部分,并删除日期部分,我们可以使用同样的方法:

df.index = df.index.strftime('%H:%M:%S')
print(df)
Python

输出结果为:

                   A         B         C
00:00:00  -0.347152 -0.885214 -0.370168
00:00:00  -0.234443 -0.172741 -1.174123
00:00:00  -0.183909  0.475639  0.862927
00:00:00   0.417592  0.103616 -1.295684
00:00:00   1.928849  0.656772  0.092862
Python

我们可以看到,现在索引只包含时间部分,日期部分被删除了。

阅读更多:Pandas 教程

总结

在本文中,我们介绍了如何使用pandas从DateTime索引中删除时间部分。我们可以使用normalize函数或strftime函数来实现。这些函数可以帮助我们在时间序列分析中简化数据集,并使进一步分析更容易。需要注意的是,删除时间部分可能会导致数据的粒度变得更加粗略,因此在具体应用中需要谨慎选择。

希望本文对读者有所帮助,谢谢阅读!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册