Pandas 获取DataFrame的日期和星期几

Pandas 获取DataFrame的日期和星期几

在本文中,我们将介绍如何使用Pandas获取DataFrame中日期列的日期和星期几信息。Pandas是一个强大的Python库,广泛应用于数据分析和数据处理领域。它提供了众多的数据结构和操作方法,方便我们对数据进行处理和分析。

阅读更多:Pandas 教程

创建DataFrame

首先,我们需要创建一个简单的DataFrame来演示如何获取日期和星期几的信息。用如下代码可以生成一个包含日期和数值列的DataFrame:

import pandas as pd
import numpy as np

dates = pd.date_range('20210101', periods=7)
df = pd.DataFrame({'date': dates, 'value': np.random.randn(7)})
print(df)
Python

输出如下:

        date     value
0 2021-01-01 -0.307684
1 2021-01-02 -1.039521
2 2021-01-03  0.172699
3 2021-01-04 -0.853082
4 2021-01-05  0.124272
5 2021-01-06  0.471379
6 2021-01-07  1.385505
Python

可以看到,我们创建了一个包含日期和数值列的DataFrame,其中日期列的日期范围为2021年1月1日至2021年1月7日。

获取日期信息

获取DataFrame中日期列的日期信息非常简单,我们可以使用.dt属性来获取。.dt是Pandas中的DatetimeProperties对象,提供了许多关于日期的有用方法和属性。例如,我们可以通过df[‘date’].dt.date来获取日期信息,代码如下:

df['date'].dt.date
Python

输出如下:

0    2021-01-01
1    2021-01-02
2    2021-01-03
3    2021-01-04
4    2021-01-05
5    2021-01-06
6    2021-01-07
Name: date, dtype: object
Python

可以看到,我们获取了DataFrame中日期列的日期信息,并以日期对象的形式返回。

如果我们需要获取日期的年、月、日等具体信息,可以使用.dt.year、.dt.month、.dt.day等属性。例如,我们可以通过下面的代码获取每个日期的年份:

df['date'].dt.year
Python

输出如下:

0    2021
1    2021
2    2021
3    2021
4    2021
5    2021
6    2021
Name: date, dtype: int64
Python

类似地,我们可以使用.dt.month获取每个日期的月份信息,使用.dt.day获取每个日期的日信息。

获取星期几信息

获取DataFrame中日期列的星期几信息也非常简单,我们可以使用.dt.weekday属性来获取。.dt.weekday会返回一个整数,代表该日期是星期几。例如,下面的代码获取了每个日期的星期几信息:

df['date'].dt.weekday
Python

输出如下:

0    4
1    5
2    6
3    0
4    1
5    2
6    3
Name: date, dtype: int64
Python

可以看到,每个日期对应的星期几信息被表示为一个整数,其中0代表星期一,1代表星期二,以此类推。

我们也可以使用.dt.day_name()属性将整数星期几信息转换为星期几名称。例如,下面的代码获取了每个日期对应的星期几名称:

df['date'].dt.day_name()
Python

输出如下:

0       Friday
1     Saturday
2       Sunday
3       Monday
4      Tuesday
5    Wednesday
6     Thursday
Name: date, dtype: object
Python

可以看到,每个日期对应的星期几信息被表示为一个字符串形式的星期几名称,更加易于阅读和理解。

处理缺失值

当DataFrame中的日期列存在缺失值时,获取日期和星期几信息就需要进行特殊处理。Pandas提供了许多方法来处理缺失值,包括dropna()、fillna()等方法。

例如,我们可以使用dropna()方法删除包含缺失值的行,以确保我们只处理完整的日期数据。下面的代码演示了如何使用dropna()方法删除包含缺失值的行:

df.dropna(subset=['date'], inplace=True)
Python

这将删除日期列包含缺失值的行,保留完整的日期数据。

另外,我们也可以使用fillna()方法将缺失值填充为特定的值。例如,下面的代码将缺失的日期信息填充为‘Unknown’:

df['date'].fillna('Unknown', inplace=True)
Python

这将把缺失的日期信息填充为‘Unknown’,使我们能够继续处理数据。

总结

本文介绍了如何使用Pandas获取DataFrame中日期列的日期和星期几信息。我们通过创建一个包含日期和数值列的DataFrame来演示如何获取和处理日期信息。通过使用.dt属性和.dt.weekday属性,我们可以方便地获取DataFrame中日期列的日期和星期几信息。同时,我们也介绍了如何处理DataFrame中包含缺失值的日期列。最终,我们能够方便地处理和分析包含日期数据的DataFrame。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册