如何計算'y'僅使用 Pandas 命令命名的資料框列中相鄰數字的差異?
這是一個示例,我首先將列轉換'y'為 numpy 然后使用np.diff.
import numpy as np
import pandas as pd
np.random.seed(10)
df = pd.DataFrame(np.random.randint(0,10,size=(10,2)),columns=['x', 'y'])
y=df['y'].values
diff_y=np.diff(y)
print(np.array([y[0:-1],diff_y]).T)
[[ 4 -3]
[ 1 -1]
[ 0 8]
[ 8 -8]
[ 0 6]
[ 6 -3]
[ 3 1]
[ 4 4]
[ 8 0]]
uj5u.com熱心網友回復:
您可以使用diff來查找差異并使shift差異對齊(如在您的輸出中):
df['diff_y'] = df['y'].diff().shift(-1)
print(df[['y', 'diff_y']])
輸出:
y diff_y
0 4 -3.0
1 1 -1.0
2 0 8.0
3 8 -8.0
4 0 6.0
5 6 -3.0
6 3 1.0
7 4 4.0
8 8 0.0
9 8 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433841.html
