def afun(group):
aa=len(group)
group.sort_values(inplace=True)
return pandas.DataFrame({'score':numpy.arange(aa),'price':group})
df = pandas.DataFrame({
'stock':numpy.repeat( ['AAPL','GOOG','YHOO'], 3 ),
'date':numpy.tile( pandas.date_range('5/5/2015', periods=3, freq='D'), 3 ),
'price':(numpy.random.randn(9).cumsum() + 10) ,
'price2':(numpy.random.randn(9).cumsum() + 10)})
df = df.set_index(['stock','date'])
agroupDf=df.groupby(level='date')
tt=agroupDf['price'].apply(afun)
Run Code Online (Sandbox Code Playgroud)
变量tt的值如图所示
我的问题是为什么 tt 有两列“日期”,以及如何避免第二列“日期”?
我有一个 40MB 的数据帧“dfScore”,我正在写入 .xlsx?
代码如下,
writer = pandas.ExcelWriter('test.xlsx', engine='xlsxwriter')
dfScore.to_excel(writer,sheet_name='Sheet1')
writer.save()
Run Code Online (Sandbox Code Playgroud)
代码dfScore.to_excel 需要将近一个小时,再the code writer.save() 需要一个小时。这是正常的吗?有什么好方法可以花不到 10 分钟的时间吗?
我已经在 stackoverflow 中搜索过,但似乎有些建议无法解决我的问题。