如何从熊猫数据框中提取日期/年份/月份?

Posted

技术标签:

【中文标题】如何从熊猫数据框中提取日期/年份/月份?【英文标题】:How do I extract the date/year/month from pandas dataframe? 【发布时间】:2017-06-14 13:26:34 【问题描述】:

我正在尝试从 pandas 数据框中的“日期”列中提取年/日/月信息。这是我的示例代码:

from datetime import datetime
def date_split(calendar):
  for row in calendar: 
    new_calendar=
    listdate=datetime.strptime(row['date'],'%Y-%M-%D')

我还没有完成完整的代码,但是当我测试运行这部分时,我不断收到如下错误:

----> 7         listdate=datetime.strptime(row['date'],'%Y-%M-%D')
TypeError: string indices must be integers

有人知道吗?

顺便说一句,这是我使用的数据框(calendar_data):

【问题讨论】:

验证 rowrow['date'] 是什么。 【参考方案1】:

看来你需要to_datetime:

print (df['date'].dtype)
object

df['date'] = pd.to_datetime(df['date'])

print (df['date'].dtype)
datetime64[ns]

如果需要将yearmonthday 提取到新列:

df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day'] = df['date'].dt.day

如果需要listdates:

listdate = df['date'].dt.date.tolist()
print (listdate)

[datetime.date(2017, 9, 5), 
 datetime.date(2017, 9, 4),
 datetime.date(2017, 9, 3), 
 datetime.date(2017, 9, 2),
 datetime.date(2017, 9, 1)]

【讨论】:

你的问题有点不清楚。期望的输出是什么?

以上是关于如何从熊猫数据框中提取日期/年份/月份?的主要内容,如果未能解决你的问题,请参考以下文章

如何按月份和年份输入过滤具有日期时间索引的数据框?熊猫

在数据框中编辑日期以在熊猫中显示年份

如何从字典列表中提取数据到熊猫数据框中?

如何从熊猫数据框中提取首字母缩写词和缩写词?

从混合字母和数字列熊猫中提取日期时间

根据列值从熊猫数据框中提取行