python - 如何找到给定表中返回最大化收益和最小化方差的行
问题描述
假设我有一个 DataFrame,它由三列(索引、返回、波动率)和五行组成。我想收到最大化回报价值和最小化波动价值的指数,但是第二个条件不如第一个重要。
我怎样才能收到呢?我尝试对两列应用方法 .rank() ,然后按它们排序,但效果很差。
解决方案
您可以首先选择数据帧的子集,其中包含Return
最大的行,然后用于idxmin()
返回第一次出现的索引 minimum Volatility
。
这是一个数据框示例:
import pandas as pd
mydict = {'Return': [99999,1,1,99999, 809],
'Volatility': [1, 2, 3, 4, 7]
}
df = pd.DataFrame(mydict, columns = ['Return', 'Volatility'])
对于此示例,df[df.Return==df.Return.max()]
产生:
回报波动率
0 99999 1
3 99999 4
并df[df.Return==df.Return.max()].Volatility.idxmin()
返回:
0
这是与Volatility
1 相关联的索引。
推荐阅读
- python - 检查 USB 是否可用并使用 python 检查 mp3 和 mp4 文件
- docker - 容器变换给出缺少图像参数错误
- python - 如何使用 NSGA-II(在 python/pymoo 库中)从列表中选择最佳值对
- prolog - Setof:有没有办法提前停止?
- python - 如何对变量执行数学运算到烧瓶模板中
- ruby-on-rails - rails: nil:NilClass 的未定义方法`>'
- javascript - Highcharts - 对数图表 - Y 轴网格线显示在图表中间,用于范围窄的数据集
- php - Composer 安装不兼容的包
- flutter - 有没有办法根据 Flutter 中的可用空间自动调整 Table 小部件的行高?
- android - 通过数据绑定设置条目时微调器获取空适配器