matlab 中 Transform,按组转换 - MATLAB grouptransform - MathWorks 中国

创建一个时间表,其中包含 3 个团队的进度状态。

timeStamp = days([1 1 1 2 2 2 3 3 3]');

teamNumber = [1 2 3 1 2 3 1 2 3]';

percentComplete = [14.2 28.1 11.5 NaN NaN 19.3 46.1 51.2 30.3]';

T = timetable(timeStamp,teamNumber,percentComplete)

T=9×2 timetable

timeStamp teamNumber percentComplete

_________ __________ _______________

1 day 1 14.2

1 day 2 28.1

1 day 3 11.5

2 days 1 NaN

2 days 2 NaN

2 days 3 19.3

3 days 1 46.1

3 days 2 51.2

3 days 3 30.3

使用线性插值填充每个组的缺失状态百分比 (NaN)。

G = grouptransform(T,'teamNumber','linearfill','percentComplete')

G=9×2 timetable

timeStamp teamNumber percentComplete

_________ __________ _______________

1 day 1 14.2

1 day 2 28.1

1 day 3 11.5

2 days 1 30.15

2 days 2 39.65

2 days 3 19.3

3 days 1 46.1

3 days 2 51.2

3 days 3 30.3

要将填充的数据追加到原始表而不是替换 percentComplete 变量,请使用 'ReplaceValues' 参数。

Gappend = grouptransform(T,'teamNumber','linearfill','percentComplete','ReplaceValues',false)

Gappend=9×3 timetable

timeStamp teamNumber percentComplete linearfill_percentComplete

_________ __________ _______________ __________________________

1 day 1 14.2 14.2

1 day 2 28.1 28.1

1 day 3 11.5 11.5

2 days 1 NaN 30.15

2 days 2 NaN 39.65

2 days 3 19.3 19.3

3 days 1 46.1 46.1

3 days 2 51.2 51.2

3 days 3 30.3 30.3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值