大熊猫中的linspace如何在范围内分割值。
在给定的代码中,我将范围从1 t0拆分为10。如果我们手动拆分这些值,则假设我将(1 + 10)// 5 == 2.2。 熊猫如何以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
答案 0 :(得分:1)
您的“手动拆分”不正确。首先,要找到两个端点之间的差异,您应该进行减法运算而不是加法运算,例如abs(1 - 10)
,而不是1 + 10
。
虽然您有5分,但实际上只有四个间隔:第一至第二,第二至第三,第三至第四,第四至第五。
因此,正确的计算是abs(1 - 10) / 4
= (10 - 1) / 4
= 9 / 4
= 2.25
。
通常,np.linspace(a, b, n)
的分割距离为
abs(a - b) / (n - 1)