python - 在 Numpy 或 Pandas 中分割 Linspace
问题描述
pandas 中的 linspace 如何拆分范围内的值。
在给定的代码中,我将范围从 1 t0 10 拆分。如果我们手动拆分这些值,假设我将执行 (1+10)//5 == 2.2。pandas 如何以 2.25 的间隔将其拆分
import pandas as pd
import numpy as np
ser = pd.Series(np.linspace(1,10,5))
print(ser)
0 1.00 1 3.25 2 5.50 3 7.75 4 10.00 dtype: float64
解决方案
您的“手动拆分”不正确。首先,要找到两个端点之间的差异,你应该做减法,而不是加法,例如abs(1 - 10)
,不是1 + 10
。
此外,虽然你有 5 分,但实际上只有四个区间:第 1 到第 2、第 2 到第 3、第 3 到第 4、第 4 到第 5。
因此,正确的计算是abs(1 - 10) / 4
= (10 - 1) / 4
= 9 / 4
= 2.25
。
更一般地,分割距离np.linspace(a, b, n)
为
abs(a - b) / (n - 1)
推荐阅读
- react-native - 使用 FlatList 显示自定义卡片元素并需要使其可触摸
- laravel - 如何更改 Laravel 控制器中的环境配置?
- date - TypeORM 未将“日期”转换为 utc
- javascript - 角度迁移 1.6 到 12
- python - 当 dtype 为 object 时,numpy.array_equal 和 numpy.testing.assert_array_equal 不会将 NaN 比较为相等
- python - 使用 Bearer Auth 使用 aiohttp 和 ApiKey 访问 TheHive 服务器时出现问题
- python - Microsoft Edge 自动填充加密
- google-cloud-platform - GCP Vertex AI Pipeline 在构建端点错误期间失败
- oauth-2.0 - 是否有针对 OAuth2 尤其是 Keycloak 的 API 参考文档?
- javascript - 从(React)按钮中删除“禁用”后,onClick 不起作用