作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想根据系列构建矩阵,但在此之前我必须对这些系列重新采样。但是,为了避免使用 replace(np.nan, 0.0)
处理整个矩阵两次,我想将数据帧附加到收集数据帧,然后一次删除 NaN
值.
所以代替
user_activities = user.groupby(["DOC_ACC_DT", "DOC_ACTV_CD"]).agg("sum")["SUM_DOC_CNT"].unstack().resample("1D").replace(np.nan, 0)
df = df.append(user_activities[activity].rename(user_id))
我要
user_activities = user.groupby(["DOC_ACC_DT", "DOC_ACTV_CD"]).agg("sum")["SUM_DOC_CNT"].unstack().resample("1D")
df = df.append(user_activities[activity].rename(user_id))
但这不起作用,因为 user_activities
不是 resample()
之后的数据帧。
错误提示我尝试 apply()
但该方法需要一个参数:
/usr/local/lib/python2.7/dist-packages/pandas/core/groupby.pyc in _make_wrapper(self, name)
507 "using the 'apply' method".format(kind, name,
508 type(self).__name__))
--> 509 raise AttributeError(msg)
510
511 # need to setup the selection
AttributeError: Cannot access callable attribute 'rename' of 'SeriesGroupBy' objects, try using the 'apply' method
我该如何解决这个问题?
最佳答案
.resample
的接口(interface)在 Pandas 0.18.0 中已更改为更像 groupby,因此更灵活,即 resample
不再返回 DataFrame:它现在是“在聚合或插值时延迟评估”。
我建议阅读 resample API changes http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#resample-api
另见:
http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html
df.resample("1D").interpolate()
df.resample("1D").mean()
即开高低收盘值或第一个最大最小最后值
df.resample("1D").ohlc()
关于python - 如何将 DatetimeIndexResampler 转换为 DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39492004/
我是一名优秀的程序员,十分优秀!