【发布时间】:2015-08-04 23:46:54
【问题描述】:
我通过read_csv 导入数据框,但由于某种原因无法从系列df['date'] 中提取年份或月份,尝试给出AttributeError: 'Series' object has no attribute 'year':
date Count
6/30/2010 525
7/30/2010 136
8/31/2010 125
9/30/2010 84
10/29/2010 4469
df = pd.read_csv('sample_data.csv', parse_dates=True)
df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].year
df['month'] = df['date'].month
更新:
当我在我的熊猫版本 0.14.1 上尝试使用 df['date'].dt 的解决方案时,我得到“AttributeError: 'Series' object has no attribute 'dt'”:
df = pd.read_csv('sample_data.csv',parse_dates=True)
df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
对于这个看似重复的问题,我感到很抱歉 - 我希望这个答案会让我觉得自己像个傻瓜......但我没有运气使用 SO 上类似问题的答案。
跟进:我似乎无法在我的 Anaconda 环境中将我的 pandas 0.14.1 更新到较新的版本,以下每次尝试都会产生无效的语法错误。我正在使用 Python 3.4.1 64 位。
conda update pandas
conda install pandas==0.15.2
conda install -f pandas
有什么想法吗?
【问题讨论】:
-
年份从何而来?您是否尝试访问一行
(df["date"][0].year? -
我有一个包含日期和其他列的 csv 文件,这些列都来自 SQL 作为字符串数据。尝试创建新的年份和月份列以用于分组。 csv 有 ~5000 行。
-
是的,但是
df["date"]是一个'pandas.core.series.Series'对象。df['date'].year应该是什么? -
我只想再创建 2 列...一列表示年份,一列表示月份为整数。
-
也试过 df['date'].dt.year,EdChum。
标签: python datetime pandas extract dataframe