[英]Need help doing analysis on a stock data set
我創建了一個股票信息的數據框,例如“開盤價”,“高位”,“收盤價”等。現在,我需要計算股票的每個柱形(dataFrame中的每一行)的性能。 我想在dataFrame中創建一個新列,該列等於下一行的“ Close”列-上一行的“ Close”列值。
我嘗試按每個第二行拆分close列值,並將此新的close列值制成自己的列。 然后創建一個新列,用第一列減去第二列,但是這是處理NaN值的問題。
df['performance'] = df.Close[2] - df.Close[1]
這使52767行中的每一行的性能均等於“ 2.5”。
我想做一列“性能”來進行迭代。 例如,如果行0的結束值為5,行1的結束值為7,則行0的性能值應為2,並且對52767行執行此操作。
pandas.Series.diff()
可以使用周期為-1
.diff()
來計算與下一行的差異(與上一行的差異的正常行為相反)。 例如:
# Example data
df = pd.read_csv("https://vincentarelbundock.github.io/Rdatasets/csv/fpp2/goog200.csv", index_col=0).head(10)
# Calculate difference
df['performance'] = df['value'].diff(-1)
產量
time value performance
1 1 392.830017 0.317932
2 2 392.512085 -4.793823
3 3 397.305908 -0.705414
4 4 398.011322 -2.478882
5 5 400.490204 -7.605530
6 6 408.095734 -8.494751
7 7 416.590485 3.586670
8 8 413.003815 -0.606048
9 9 413.609863 0.536499
10 10 413.073364 NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.