📌  相关文章
📜  从 Pandas 中的日期获取月份和年份 - Python

📅  最后修改于: 2022-05-13 01:55:00.148000             🧑  作者: Mango

从 Pandas 中的日期获取月份和年份 - Python

Pandas是Python中最强大的库之一,用于高性能和计算速度。它基本上是一个开源 BSD 许可的Python库。它通常用于探索性数据分析、机器学习、数据科学中的数据可视化等等。它具有非常动态且易于理解的语法,使用户的工作更轻松,并促进了开发人员的创新(因为 pandas 是一个开源库)。

现在让我们从安装 pandas 开始。以下是在 Linux、windows 或 mac 上直接使用安装 pandas 的命令:

pip install pandas

要在 anaconda 环境中安装 pandas,请使用:

conda install pandas 

现在让我们在我们的编程环境中加载 pandas 库。

import pandas as pd

在 pandas 中访问月份和日期,这是探索性数据分析的一部分。假设我们只想访问从日期开始的月、日或年,我们通常使用 pandas。

方法 1:使用 DatetimeIndex.month 属性查找月份并使用 DatetimeIndex.year 属性查找日期中存在的年份。

df['year'] = pd.DatetimeIndex(df['Date Attribute']).year
df['month'] = pd.DatetimeIndex(df['Date Attribute']).month

这里 'df' 是 pandas 数据框的对象,pandas 可以调用为 'pd'(导入时),'DatatimeIndex()' 是 pandas 中的一个函数,用于引用数据集的日期属性,'Date Attribute' 是您的数据集中的日期列(它可以是任何数据,从一个数据集到另一个数据集有所不同),“year”和“month”分别是用于引用年和月的属性。
现在让我们看一个例子:

代码 :

Python3
# import pandas library
import pandas as pd
 
 
# dictionary of string  key and list value
raw_data = {'name': ['Rutuja', 'Neeraj',
                     'Renna', 'Pratik'],
            'age': [20, 19, 22, 21],
            'favorite_color': ['blue', 'red',
                               'yellow', "green"],
            'grade': [88, 92, 95, 70],
            'birth_date': ['01-02-2000', '08-05-1997',
                           '04-28-1996', '12-16-1995']}
 
# create a dataframe object
df = pd.DataFrame(raw_data,
                  index = ['Rutuja', 'Neeraj',
                           'Renna', 'Pratik'])
 
# get year from the corresponding
# birth_date column value
df['year'] = pd.DatetimeIndex(df['birth_date']).year
 
# get month from the corresponding
# birth_date column value
df['month'] = pd.DatetimeIndex(df['birth_date']).month
 
# Show the dataframe
# by default 5 rows from top
df.head()


Python3
# import required library
import pandas as pd
import datetime as dt
 
# dictionary of string as key
# and list as a value
raw_data = {'Leaders': ['Mahatma Gandhi', 'Jawaharlal Nehru',
                        'Atal Bihari Vajpayee', 'Rabindranath Tagore'],
            'birth_date': ['10-02-1869', '11-14-1889',
                           '12-25-1924', '05-07-1861']}
 
# create a dataframe object
df = pd.DataFrame(raw_data,
                  index = ['Mahatma Gandhi', 'Jawaharlal Nehru',
                           'Atal Bihari Vajpayee',
                           'Rabindranath Tagore'])
 
# get a year from corresponding
# birth_date column value
df['year'] = df['birth_date'].dt.year
 
# get a month from corresponding
# birth_date column value
df['month'] = df['birth_date'].dt.month
 
# show the dataframe
# by default first 5 rows
# from top
df.head()


输出:

所以在输出中可以清楚地看到数据集的最后两列被附加了,我们使用 pandas 分别存储了月份和日期。

方法 2:使用 datetime.month 属性查找月份并使用 datetime.year 属性查找 Date 中存在的年份。

df['year'] = df['Date Attribute'].dt.year
df['month'] = df['Date Attribute'].dt.month

这里 'df' 是 pandas 数据框的对象,pandas 可调用为 'pd'(导入时),datetime 可调用为 'dt'(导入时)。 “日期属性”是数据集中的日期列(它可以是任何数据,从一个数据集到另一个数据集有所不同),“年”和“月”分别是用于引用年和月的属性。
现在让我们看一个例子:

代码

Python3

# import required library
import pandas as pd
import datetime as dt
 
# dictionary of string as key
# and list as a value
raw_data = {'Leaders': ['Mahatma Gandhi', 'Jawaharlal Nehru',
                        'Atal Bihari Vajpayee', 'Rabindranath Tagore'],
            'birth_date': ['10-02-1869', '11-14-1889',
                           '12-25-1924', '05-07-1861']}
 
# create a dataframe object
df = pd.DataFrame(raw_data,
                  index = ['Mahatma Gandhi', 'Jawaharlal Nehru',
                           'Atal Bihari Vajpayee',
                           'Rabindranath Tagore'])
 
# get a year from corresponding
# birth_date column value
df['year'] = df['birth_date'].dt.year
 
# get a month from corresponding
# birth_date column value
df['month'] = df['birth_date'].dt.month
 
# show the dataframe
# by default first 5 rows
# from top
df.head()

输出:

所以在输出中,可以清楚地看到附加了数据集的最后两列,我们使用 pandas 分别存储了月份和日期。