pandas - Python pymannkendall 和 Pandas Groupby 解包结果
问题描述
我有一个系列是使用 lambda 应用 pymannkendall 函数的结果。然而,问题是我需要以某种方式解开该系列的元素,而我无法以目前的形式做到这一点。数据框“ncd”的示例如下所示:
plant_name year season day count mean std min 10% 50% 90% max
0 ARIZONA I 2005 1 1 72.0 9.37 1.36 7.43 7.72 9.26 10.86 13.18
1 ARIZONA I 2005 1 2 72.0 9.19 1.00 7.37 7.93 9.22 10.24 12.24
2 ARIZONA I 2005 1 3 72.0 9.28 1.60 6.31 7.10 9.41 11.32 12.63
3 ARIZONA I 2005 1 4 72.0 8.76 1.99 5.59 5.74 9.36 10.80 11.06
4 ARIZONA I 2005 1 5 72.0 8.40 2.42 4.18 5.09 9.33 10.91 13.89
我创建系列 (17,) 的代码如下所示:
ncd = ncData.groupby(['plant_name','year','season','day'])['wind_speed_ms'].describe(percentiles = [0.9, 0.1]).round(2).reset_index()
nc10= ncd.groupby(['plant_name']).apply(lambda x: mk.original_test(x['10%']))
而且,“nc10”系列看起来像这样:
In [68]: nc10
Out[68]:
plant_name
ARIZONA I (no trend, False, 0.416671903456554, 0.8122086...
CAETITE I (increasing, True, 0.00022557963311364837, 3.6...
CAETITE II (increasing, True, 0.001237301922455858, 3.230...
CAETITE III (increasing, True, 0.00029610116053091495, 3.6...
CALANGO I (no trend, False, 0.06614633155767802, -1.8374...
CALANGO II (decreasing, True, 0.004494175262409472, -2.84...
CALANGO III (no trend, False, 0.08652731348848075, -1.7140...
CALANGO IV (decreasing, True, 0.0203025663568539, -2.3207...
CALANGO V (no trend, False, 0.05860321719835615, -1.8911...
CALANGO VI (decreasing, True, 0.006518506037077154, -2.72...
CANOAS (decreasing, True, 0.04470174299349505, -2.007...
LAGOA I (no trend, False, 0.1335175311613055, -1.50037...
LAGOA II (no trend, False, 0.1395114855149504, -1.47761...
MEL II (no trend, False, 0.09929968197907635, -1.6482...
RIO DO FOGO (no trend, False, 0.5553621888263085, 0.589744...
SANTANA I (decreasing, True, 0.006538153896656684, -2.71...
SANTANA II (decreasing, True, 0.002009326564589742, -3.08...
dtype: object
我需要以某种方式对 mk.original_test(x['%10'] 的结果进行解包。解包的元素采用这种形式,我无法使用 (17,1) 系列“nc10”执行此操作我知道。也许,我可以使用 mk.original_test(data) 函数和 groupby ('plant_name') 函数而不是 lambda 函数...通过我需要的植物名称来获得解包结果。
trend, h, p, z, Tau, s, var_s, slope, intercept = mk.original_test(data)
解决方案
推荐阅读
- docker - 为什么 docker swarm 使用秘密路径而不是秘密值?
- flutter - 在flutter中使用firebase动态链接导航到特定的firestore页面
- javascript - 如何在 vanilla js/ts (Angular) 中重启动画并支持 IOS
- mysql - 如何编写 sql 查询以根据所选状态获取产品的成本 a 和成本 b?
- node.js - TypeError:无法读取 Socket.socket.on 处未定义的属性“发射”
- ansible - 如何根据用户提供的变量运行角色
- node.js - 如何修复“EPERM:不允许操作,取消链接 {FILE PATH}”错误?
- python - 将文本从 jira 转换为 markdown
- powerbi - 切片器的 Power BI 默认选项
- r - 循环列表中的数据帧