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

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

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’是分别用来引用年份和月份的属性。
现在让我们看一个例子。

代码 :

# 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()

输出:

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

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

方法2:使用datetime.month属性来查找月份,使用datetime.year属性来查找日期中的年份。

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

这里’df’是pandas的数据框架对象,pandas可被称为’pd’(如进口),datetime可被称为’dt’(如进口)。’Date Attribute’是你的数据集中的日期列(它可以是任何东西,因为不同的数据集有不同的答案),’year’和’month’分别是指年份和月份的属性。
现在让我们看一下例子。

代码 :

# 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中从日期中获取月份和年份 - Python

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程