我有一个按熊猫分类的多列系列;每个分组依据列均显示订购日期。每个分组依据都有一个唯一的订购日期。我正在尝试查找每个分组依据的订单日期的Z得分/置信区间。也就是说,该特定分组依据的平均(平均)订购日期差是多少,原始得分与平均值之差是多少标准差。
多次分组操作有效,它给了我一个仅显示标准差的熊猫系列。最后一栏是我计算标准偏差的日期。
代码1:
Date_diff_std = grouped_df.sort_values('Order Date').groupby(['Sold-To Name', 'Sold-To','Ship-To', 'Material']).apply(lambda x: x['Order Date'].diff().std()).fillna(0)
代码2:
Date_diff_std = grouped_df.sort_values('Order Date').groupby(['Sold-To Name','Sold-To','Ship-To','Material']).apply(lambda x: x['Order Date'].diff().reset_index(name = 'Day Difference'))
del Date_diff_std['index']
Date_diff_std = pd.DataFrame(Date_diff_std)
Date_diff_std['Z-score'] = Date_diff_std.apply(lambda x: (x - x.mean()) / x.std())
Date_diff_std
代码1:
Actual
Sold-To Ship-To Material
0011586336 0011586697 500003002 10 days 11:22:14.313638
500009480 2 days 01:28:38.163026
500010048 0 days 00:00:00
500010130 9 days 06:59:51.928210
0012468622 0012468631 500003451 0 days 00:00:00
0012482936 500003451 9 days 04:37:02.336628
0012482937 500003246 1 days 17:34:09.189773
0012527354 500003451 10 days 22:54:24.579368
预期: 我需要在具有“ 10天11:22:14.313638”的列中使用z得分