相关疑难解决方法(0)

AttributeError:只能使用具有datetimelike值的.dt访问器

嗨,我正在使用pandas将列转换为月份.当我读取我的数据时,它们就是对象:

Date           object
dtype: object
Run Code Online (Sandbox Code Playgroud)

所以我首先让它们到达约会时间,然后尝试将它们作为月份:

import pandas as pd
file = '/pathtocsv.csv'
df = pd.read_csv(file, sep = ',', encoding='utf-8-sig', usecols= ['Date', 'ids'])    
df['Date'] = pd.to_datetime(df['Date'])
df['Month'] = df['Date'].dt.month
Run Code Online (Sandbox Code Playgroud)

如果这有帮助:

In [10]: df['Date'].dtype
Out[10]: dtype('O')
Run Code Online (Sandbox Code Playgroud)

所以,我得到的错误是这样的:

/Library/Frameworks/Python.framework/Versions/2.7/bin/User/lib/python2.7/site-packages/pandas/core/series.pyc in _make_dt_accessor(self)
   2526             return maybe_to_datetimelike(self)
   2527         except Exception:
-> 2528             raise AttributeError("Can only use .dt accessor with datetimelike "
   2529                                  "values")
   2530 

AttributeError: Can only use .dt accessor with datetimelike values
Run Code Online (Sandbox Code Playgroud)

编辑:

日期列如下:

0         2014-01-01         
1         2014-01-01         
2         2014-01-01         
3         2014-01-01         
4         2014-01-03 …
Run Code Online (Sandbox Code Playgroud)

python pandas

23
推荐指数
3
解决办法
4万
查看次数

在Pandas中将Date列转换为工作日名称的更快方法

这是我通过pd.read_csv()读取的输入csv文件

ProductCode,Date,Receipt,Total
x1,07/29/15,101790,17.35
x2,07/29/15,103601,8.89
x3,07/29/15,103601,8.58
x4,07/30/15,101425,11.95
x5,07/29/15,101422,1.09
x6,07/29/15,101422,0.99
x7,07/29/15,101422,3
y7,08/05/15,100358,7.29
x8,08/05/15,100358,2.6
z3,08/05/15,100358,2.99


import pandas as pd
df = pd.read_csv('product.csv')

#I have to add some columns to the data:

df['Receipt_Count'] = df.groupby(['Date','Receipt'])['Receipt'].transform('count')
df['Day_of_Week'] = pd.to_datetime(df['Date']).dt.weekday_name
Run Code Online (Sandbox Code Playgroud)

我的csv文件中有大约800K的行.当我运行将日期转换为weekday_name的代码行时,我需要大约2分钟.我知道我首先将我的'Date'列转换为datetime,因为它被视为来自csv的字符串,然后它被转换为它的工作日等价物.有什么办法可以缩短转换时间吗?

我对Pandas/Python很新,所以我不确定我是否错过了这里的内容.

python pandas

2
推荐指数
1
解决办法
2634
查看次数

标签 统计

pandas ×2

python ×2