Używam Python3.5 i pracuję z pandami. Załadowałem dane giełdowe z finansów yahoo i zapisałem je do pliku csv. Moje DataFrames ładują te dane z pliku CSV. To jest kopia z dziesięciu wierszy pliku CSV, który jest moim DataFrameJak odjąć poprzedni wiersz od bieżącego wiersza w ramce danych pandy i zastosować go do każdego wiersza; bez użycia pętli?
Date Open High Low Close Volume Adj Close
1990-04-12 26.875000 26.875000 26.625 26.625 6100 250.576036
1990-04-16 26.500000 26.750000 26.375 26.750 500 251.752449
1990-04-17 26.750000 26.875000 26.750 26.875 2300 252.928863
1990-04-18 26.875000 26.875000 26.500 26.625 3500 250.576036
1990-04-19 26.500000 26.750000 26.500 26.750 700 251.752449
1990-04-20 26.750000 26.875000 26.750 26.875 2100 252.928863
1990-04-23 26.875000 26.875000 26.750 26.875 700 252.928863
1990-04-24 27.000000 27.000000 26.000 26.000 2400 244.693970
1990-04-25 25.250000 25.250000 24.875 25.125 9300 236.459076
1990-04-26 25.000000 25.250000 24.750 25.000 1200 235.282663
wiem, że mogę używać iloc, loc, IX ale te wartości, które ja indeksu dadzą tylko moje konkretne wiersze i kolumny i będzie nie wykonuje operacji w każdym rzędzie. Na przykład: Wiersz jednego z danych w otwartej kolumnie ma wartość 26,875, a wiersz poniżej ma wartość 26,50. Cena spadła .375 centów. Chcę móc uchwycić% wzrostu lub zmniejszenia z poprzedniego dnia, aby zakończyć ten przykład .375 podzielony przez 26.875 = 1,4% spadku z jednego dnia na dzień. Chcę móc wykonywać te obliczenia w każdym rzędzie, więc wiem, ile wzrosło lub zmniejszyło się z poprzedniego dnia. Funkcje indeksowe, które wypróbowałem, ale są absolutne i nie chcę używać pętli. Czy jest sposób, w jaki mogę to zrobić za pomocą ix, iloc, loc lub innej funkcji?
co 'df.Close.pct_change()'? – MaxU
Taka zmiana powinna zadziałać Właśnie podniosłem to spojrzenie, ponieważ szukałem czegoś takiego również spróbuję close.pct Wy odpowiedzieliście na moje pytanie, dziękuję – ZacAttack
Być może źle zrozumiałem twoje pytanie, ale czy nie możesz tego zrobić 'df .iloc [1 :,:] - df.iloc [: - 1,:] 'gdzie można dostosować go do nazw/indeksów kolumn, jeśli chcesz zastosować tylko do określonych kolumn? – Andrew