python - 在 DataFrame 中计算速率
问题描述
我有一个如下的数据框:
df = pd.DataFrame({
'Code':['ABC','DEF','GHI','JKL','MNO'],
'Val': [1000, 2000, 5000,7000, 8000]})
#df['Diff rate'] = df.Val.diff()
df
我想介绍一个新列“Diff Rate”,它具有(当前 Val -Previous Val)/Current Val 之间的差异。我该怎么办?预期值是:NaN,0.5,0.6,0.2857,0.125
在Diff Rate
列谢谢
解决方案
利用:
df['Diff rate'] = df["Val"].diff() / df["Val"]
print(df)
这打印:
Code Val Diff rate
0 ABC 1000 NaN
1 DEF 2000 0.500000
2 GHI 5000 0.600000
3 JKL 7000 0.285714
4 MNO 8000 0.125000
推荐阅读
- sql - 我想使用 SQL SERVER 在 SQL 中获取 while 循环的最终结果(参考代码)
- c - 如何在 Windows 中打印 \n?
- mongodb - 编辑 mongo.conf 后 MongoDB 状态失败(代码退出,状态 = 2)
- akka - 为什么 Akka 远程流量通过 UDP?
- angular - Angular - 大型查询的 Http 请求返回 null
- reactjs - 如何正确访问 React 组件中的 Redux 存储?
- graphql - 为什么 GraphQL 被称为“API”而不是任何数据的查询语言?
- azure-data-factory - Azure 数据流筛选不同的行
- microsoft-graph-api - 具有依赖项的 Microsoft Graph API 批处理请求?
- postgresql - 如何修复:错误将映射结果集转换为返回类型