Pandas DataFrame中删除日期时间戳
在本文中,我们将讨论如何使用Python Pandas库从Pandas DataFrame中删除日期时间戳。
在实际情况中,DataFrame中的某些列可能是包含日期时间戳的。有时,我们可能需要删除这些时间戳,仅保留日期信息。
阅读更多:Pandas 教程
建立Pandas DataFrame 示例
首先,让我们建立一个包含日期时间戳的样本Pandas DataFrame。
import pandas as pd
df = pd.DataFrame({'date': ['2021-01-01 00:00:00', '2021-01-02 00:00:00', '2021-01-03 00:00:00'],
'value': [1, 2, 3]})
df['date'] = pd.to_datetime(df['date'])
print(df)
该代码将输出以下DataFrame:
date value
0 2021-01-01 1
1 2021-01-02 2
2 2021-01-03 3
上述Pandas DataFrame包含具有日期时间戳的“date”列和一个“value”列。
删除时间戳
现在,我们可以使用Pandas中的.dt.date方法将“date”列中的时间戳删除。
df['date'] = df['date'].dt.date
print(df)
该代码将输出以下DataFrame,其中日期时间戳已被删除:
date value
0 2021-01-01 1
1 2021-01-02 2
2 2021-01-03 3
我们可以看到,此时DataFrame中的“date”列已被截断以仅包含日期信息。
保留日期时间戳的时间信息
我们也可以只保留日期时间戳的时间信息。在这种情况下,我们可以使用Pandas中的.dt.time方法。
df['date'] = pd.to_datetime(df['date'])
df['time'] = df['date'].dt.time
df['date'] = df['date'].dt.date
print(df)
该代码将输出以下DataFrame:
date value time
0 2021-01-01 1 00:00:00
1 2021-01-02 2 00:00:00
2 2021-01-03 3 00:00:00
如上所示,现在DataFrame包含额外的“time”列,其中只包含时间戳信息。
更改日期时间戳的格式
最后,我们可以使用Pandas中的.dt.strftime方法来更改时间戳的格式。
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].dt.strftime('%m/%d/%Y')
print(df)
该代码将输出以下DataFrame,其中“date”列中的时间戳已被更改为格式为“mm/dd/yyyy”的格式。
date value
0 01/01/2021 1
1 01/02/2021 2
2 01/03/2021 3
使用.dt.strftime方法,我们可以将时间戳格式更改为任何我们想要的格式。
总结
在本文中,我们介绍了如何在Pandas DataFrame中删除日期时间戳。我们使用了Pandas中的.dt.date方法和.dt.time方法来仅保留日期信息或时间戳信息。我们还使用了.dt.strftime方法来更改时间戳的格式。这些方法是非常有用的,我们可以根据具体情况来灵活使用这些方法。
极客教程