python pct_change_在pct_change()和缺失值之前重新采样
我有一个数据帧:import pandas as pd
df = pd.DataFrame([['A', 'G1', '2019-01-01', 11],
['A', 'G1', '2019-01-02', 12],
['A', 'G1', '2019-01-04', 14],
['B', 'G2', '2019-01-01', 11],
['B', 'G2', '2019-01-03', 13],
['B', 'G2', '2019-01-06', 16]],
columns=['cust', 'group', 'date', 'val'])
df
^{pr2}$
数据帧被分组,现在我想计算pct_change,但前提是有以前的日期。
如果我这样做:df['pct'] = df.groupby(['cust', 'group']).val.pct_change()
df
我将得到pct_change,但不考虑丢失的日期。
例如,在组('A', 'G1')中,日期2019-01-04的pct应该是{},因为没有(上一个)日期2019-01-03。在
也许解决方案是按天重新采样,其中每个新行将np.nan作为val,然后再做{}。在
我试图使用df.resample('1D', level=2),但是我得到一个错误:TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'MultiIndex'
对于组('B', 'G2'),所有pct_change应该是np.nan,因为没有一行有上一个日期。在
预期结果为:
如何计算关于缺失日期的pct_change?在
解决方案:new_df = pd.DataFrame()
for x, y in df.groupby(['cust', 'group']):
resampled=y.set_index('date').resample('D').val.mean().to_frame().rename({'val': 'resamp_val'}, axis=1)
resampled = resampled.join(y.set_index('date')).fillna({'cust':x[0],'group':x[1]})
resampled['resamp_val_pct'] = resampled.resamp_val.pct_change(fill_method=None)
new_df = pd.concat([new_df, resampled])
new_df = new_df[['cust', 'group', 'val', 'resamp_val', 'resamp_val_pct']]
new_df
python pct_change_在pct_change()和缺失值之前重新采样相关推荐
- python中的pct_change用法
** **python中的pct_change用法: ** 代码: ** s=pd.Series([1,2,3,4,5]) print('periods=1,(当前值-前1值)/前1值') print ...
- python和R对dataframe的拼接、采样、链式操作:dplyr、tidyr、concat、rbind、cbind、sample、sample_n、set.seed、mutate、filter
python和R对dataframe的拼接.采样.链式操作:dplyr.tidyr.concat.rbind.cbind.sample.sample_n.set.seed.mutate.filter. ...
- python使用imbalanced-learn的ClusterCentroids方法进行下采样处理数据不平衡问题
python使用imbalanced-learn的ClusterCentroids方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜 ...
- python使用imbalanced-learn的AllKNN方法进行下采样处理数据不平衡问题
python使用imbalanced-learn的AllKNN方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class ske ...
- python使用imbalanced-learn的NearMiss方法进行下采样处理数据不平衡问题
python使用imbalanced-learn的NearMiss方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class s ...
- python使用imbalanced-learn的TomekLinks方法进行下采样处理数据不平衡问题
python使用imbalanced-learn的TomekLinks方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class ...
- python使用imbalanced-learn的OneSidedSelection方法进行下采样处理数据不平衡问题
python使用imbalanced-learn的OneSidedSelection方法进行下采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏 ...
- python使用imbalanced-learn的SMOTE方法进行上采样处理数据不平衡问题
python使用imbalanced-learn的SMOTE方法进行上采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class skew ...
- python使用imbalanced-learn的SVMSMOTE方法进行上采样处理数据不平衡问题
python使用imbalanced-learn的SVMSMOTE方法进行上采样处理数据不平衡问题 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class s ...
最新文章
- 魔术方法php,PHP中常用的魔术方法
- pythonexcel表格教程_python对excel表格的操作
- 屏蔽Xcode 8“烦人”的日志输出
- 在线课程学习、科研科技视频网站
- 你必须知道的容器监控 (1) Docker自带子命令与Weave Scope
- react部署在node_如何在没有命令行的情况下在3分钟内将React + Node应用程序部署到Heroku
- sqliteorm的sync_schema介绍
- ASP.NET技巧:字符自动截取问题
- 数字信号处理(第四版)pdf
- 5V升压充电12.6V锂电池方案
- pythonpost请求json_将JSON字符串作为post请求发送
- python泰坦尼克号数据分析_Python实战—泰坦尼克号生还者数据分析
- 个人所得税计算java版
- 【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
- DeepLearning论文阅读笔记(一):Cyclical Learning Rates for Training Neural Networks(CLR)
- Linux实现ISCSI共享设备
- MT8127芯片资料下载,联发科技MTK资料分享
- 请写出sfr和sbit的语句格式_KEIL中的SFR和SBIT用法
- 给拯救者Y7000换个固态
- J storm战队成员_J.Storm战队踢掉队内三号位Forev主动扣分
热门文章
- 小心踩雷!手把手教你制作扫雷游戏简单版本
- PCL教程-点云分割之圆柱体分割
- c语言 accept,AcceptEx浅析(转)
- Spring AOP -- execution表达式
- 题目2-1 where is the flag
- 双重预防机制数字化管理平台赋能施工企业安全生产
- 南宁有几家机器人餐厅_全国首家机器人自助餐厅开业 20多种机器人亮相
- Our Collectors
- c语言ofstream头文件,【c++】c++中的ofstream和ifstream
- ofstream 若文件不存在_C++文件操作详解(ifstream、ofstream、fstream)