应用于 Datetime 类型的 pandas.Series.dt.year() 和 pandas.Series.dt.month() 方法分别返回系列对象中 Datetime 条目的年和月的 numpy 数组。
注意
:如果该列不是 Datetime 类型,则应首先使用 to_datetime() 方法将该列转换为 Datetime 类型,
pd.to_datetime()
。
import pandas as pd
list_of_dates = ['2019-11-20', '2020-01-02', '2020-02-05','2020-03-10','2020-04-16']
employees=['Hisila', 'Shristi','Zeppy','Alina','Jerry']
df = pd.DataFrame({'Joined date': pd.to_datetime(list_of_dates)}, index=employees)
df['Year'] = df['Joined date'].dt.year
df['Month'] = df['Joined date'].dt.month
df['Day'] = df['Joined date'].dt.day
df['Date'] = pd.to_datetime(df['Joined date'].dt.date)
print(df)
Joined date Year Month Day Date
Hisila 2019-11-20 2019 11 20 2019-11-20
Shristi 2020-01-02 2020 1 2 2020-01-02
Zeppy 2020-02-05 2020 2 5 2020-02-05
Alina 2020-03-10 2020 3 10 2020-03-10
Jerry 2020-04-16 2020 4 16 2020-04-16
df.dtypes
Joined date datetime64[ns]
Year int64
Month int64
Day int64
Date datetime64[ns]
dtype: object
strftime() 方法使用 Datetime,将格式代码作为输入,并返回表示输出中指定的特定格式的字符串。使用%Y 和%m 作为格式代码来提取年份和月份。
import pandas as pd
list_of_dates = ['2019-11-20', '2020-01-02', '2020-02-05','2020-03-10','2020-04-16']
employees=['Hisila', 'Shristi','Zeppy','Alina','Jerry']
df = pd.DataFrame({'Joined date': pd.to_datetime(list_of_dates)},index=employees)
df['year'] = df['Joined date'].dt.strftime('%Y')
df['month'] = df['Joined date'].dt.strftime('%m')
Joined date year month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 01
Zeppy 2020-02-05 2020 02
Alina 2020-03-10 2020 03
Jerry 2020-04-16 2020 04
从 Datetime 列中提取月份和年份的另一种简单方法是检索 pandas.DatetimeIndex 对象的年份和月份属性的值类。
此时,datatime是DataFrame的索引,时间类型的索引。比非时间索引类型的时间类型列,在抽取年月的时候,少个dt。
import pandas as pd
list_of_dates = ['2019-11-20', '2020-01-02', '2020-02-05','2020-03-10','2020-04-16']
employees=['Hisila', 'Shristi','Zeppy','Alina','Jerry']
df = pd.DataFrame({'Joined date': pd.to_datetime(list_of_dates)},index=employees)
df['year'] = pd.DatetimeIndex(df['Joined date']).year
df['month'] = pd.DatetimeIndex(df['Joined date']).month
print(df)
Joined date year month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 1
Zeppy 2020-02-05 2020 2
Alina 2020-03-10 2020 3
Jerry 2020-04-16 2020 4
如何从 Pandas 的日期时间列中提取月份和年份
扩展:
如何根据 Pandas 中的日期过滤 DataFrame 行
使用布尔掩码选择两个日期之间的行
pandas.DataFrame.query() 选择两个日期之间的 DataFrame 行
pandas.DataFrame.isin() 选择两个日期之间的 DataFrame 行
pandas.Series.between() 选择两个日期之间的 DataFrame 行
原文链接:https://www.delftstack.com/zh/howto/python-pandas/how-to-extract-month-and-year-separately-from-datetime-column-in-pandas/
这里写自定义目录标题如何将DataFrame中Object类型的字段转换成datetime类型(pandas)如何从DataFrame时间字段中提取年、月、日、时、分(pandas)datetime模块
如何将DataFrame中Object类型的字段转换成datetime类型(pandas)
使用pandas模块中的to_datetime函数:
df['date1'] = pd.to_datetime(df['date1'],format='%Y-%m-%d')
如何从DataFrame时间字段中提取年
#pd.to_datetime函数#读取数据import pandas as pddata = pd.read_csv('police.csv')#将stop_date转化为datetime的格式的dataframe,存到stop_datetimedata['stop_datetime'] = pd.to_datetime(data.stop_date')#自定义一个时间,计算时间差data_ne...
1、pandas.Series.dt.year() 和 pandas.Series.dt.month() 方法提取月份和年份
2、strftime() 方法提取年份和月份
3、pandas.DatetimeIndex.month 和 pandas.DatetimeIndex.year 提取年份和月份
4、参考资料
1、pandas.Series.dt.year() 和 pandas.Series.dt.month() 方法提取月份和年份
应用于Datetime类型的 p..
python3 正则提取年月日、年月、年思路使用到知识点:[]用来表示一组字符串()对正则表达式分组并记住匹配的文本[0-9]匹配任何数字\d匹配一个数字字符,等价于[0-9]?匹配0或者2个 非贪婪模式|或提取的文本:1961年5月27日1961年05月01日1961年03月05日1961年11月10日3000年01月30日1111年8月27日13...
在0.15.0中,您将能够使用新的.dt访问器在语法上做到这一点.In [36]: df = DataFrame(date_range('20000101',periods=150000,freq='H'),columns=['Date'])In [37]: df.head(5)Out[37]:Date0 2000-01-01 00:00:001 2000-01-01 01:00:002 2000...
一、格式转换python中常见的日期格式有两种,分别是datetime和date,另外日期经常与string类型互转import datetime as dt1、datetime转date(直接转换)dt1 = dt.datetime(2003, 5, 16)dt1.date()2、date转datetime(间接转换)dt2 = dt.date(2003, 6, 20)dt.datetime.s...