python - 如何找出每个唯一键的趋势。数据框
问题描述
我有一个带有 2 列的 DataFrame
科尔A| ColB 2 12 D 15 一个 20 一个 40 一个 60 C 60 C 55 C 70 C 45 大号 45 大号 23 大号 10 大号 5
结果/输出将是
向上 一个向上 C平 L 下其中 UP 是所有相关权重相加的结果:每个键的每个连续权重必须小于前一个权重。您必须拥有的 UP 示例
解决方案
这是一个简单的技术,可能不适合所有情况,即:
def sum_t(x):
# Compare the value with previous value
m = x > x.shift()
# If all of them are increasing then return Up
if m.sum() == len(m)-1:
return 'UP'
# if all of them are decreasing then return Down
elif m.sum() == 0:
return 'DOWN'
# else return flat
else:
return 'FLAT'
df.groupby('ColA')['ColB'].apply(sum_t)
输出:
ColA
A UP
C FLAT
D UP
L DOWN
Name: ColB, dtype: object
推荐阅读
- c# - 备份和重新加载控制台命令历史
- c# - 在深色模式下保存并在浅色模式下打开时 UWP RichEditBox 文本颜色问题
- forms - 微软表单识别器 2.1
- javascript - 使用useState挂钩时,在React中提交表单时禁用提交按钮无法按预期工作
- javascript - 在重新渲染期间保持 React Portal 显示在外部窗口上
- office-js - 回调函数未正确执行 - Outlook 加载项
- java - 如何同时调用相同的 AWS Lambda 函数?
- r - R CMD 检查中有关 graphics::curve() 的注释
- javascript - 如何将递归与余数运算符联系起来?
- upgrade - 升级时不推荐使用 DNN 方法