从 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 分别存储了月份和日期。