AttributeError:“Int64Index”对象没有属性“月”
Posted
技术标签:
【中文标题】AttributeError:“Int64Index”对象没有属性“月”【英文标题】:AttributeError: 'Int64Index' object has no attribute 'month' 【发布时间】:2019-07-05 11:23:27 【问题描述】:我有一些时间序列数据,其中包含三个单独的列(日期、时间、千瓦),如下所示:
Date Time kW
3/1/2011 12:15:00 AM 171.36
3/1/2011 12:30:00 AM 181.44
3/1/2011 12:45:00 AM 175.68
3/1/2011 1:00:00 AM 180.00
3/1/2011 1:15:00 AM 175.68
直接从 Pandas 读取 csv 文件,我可以解析日期和时间:
df= pd.read_csv('C:\\Users\\desktop\\master.csv', parse_dates=[['Date', 'Time']])
这似乎工作得很好,但问题是我想在 Pandas 中创建另一个数据框来表示月份的数值。如果我这样做:
df['month'] = df.index.month
抛出一个错误:
AttributeError: 'Int64Index' object has no attribute 'month'
我也希望创建额外的数据框来表示时间戳日、分钟、小时...任何提示非常感谢..
【问题讨论】:
由于日期是列而不是索引,因此您需要 df.Date.dt.month @Vaishali 它目前是一个字符串,因此他们需要在使用.dt
访问器之前转换为日期时间
抱歉一直没看懂... :( 从 CSV 导入时我需要做些不同的事情吗?
@roganjosh,我相信 read_csv 中的 parse_dates 会将日期转换为日期时间。
如果您希望它们成为您的索引,请使用index_col
【参考方案1】:
您可以使用日期时间访问器并提取月份
df['month'] = df['Date_Time'].dt.month
【讨论】:
以上是关于AttributeError:“Int64Index”对象没有属性“月”的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError: 'RDD' 对象没有属性 'show'
AttributeError:“NumpyArrayIterator”对象没有属性“类”
AttributeError:模块 'dbus' 没有属性 'lowlevel'