【发布时间】:2018-05-14 18:53:46
【问题描述】:
这是我通过 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
我的 csv 文件中有大约 800K 行。当我运行将日期转换为 weekday_name 的代码行时,大约需要 2 分钟。我知道我首先将我的“日期”列转换为日期时间,因为它被视为来自 csv 的字符串,然后它被转换为其工作日等价物。有什么办法可以缩短转化时间?
我对 Pandas/Python 还很陌生,所以我不确定我是否在这里遗漏了什么。
【问题讨论】: