/ / Jak mogę sortować DataFrame według daty w Pythonie? - python, python-3.x, pandy, sortowanie, ramka danych

Jak sortować DataFrame według daty w Pythonie? - python, python-3.x, pandy, sortowanie, ramka danych

Próbuję sortować ramkę danych pokazaną poniżej według daty za pomocą df.sort_values(by="date") jednak to nie działa. Jakieś pomysły, jak to zrobić, aby mieć pewność, że są one prawidłowo sortowane?

     symbol        date     open    close     high      low
0      GOOG  2007-01-03   232.77   233.56   238.09   230.32
1      GOOG  2007-01-05   241.01   243.35   243.51   238.82
2      GOOG  2007-01-04   234.27   241.39   241.73   233.94

...
2692   GOOG  2017-11-30  1022.37  1021.41  1028.49  1015.00
2693   GOOG  2017-11-29  1042.68  1021.66  1044.08  1015.65
2694   GOOG  2017-12-01  1015.80  1010.17  1022.49  1002.02

Odpowiedzi:

2 dla odpowiedzi № 1

df.sort_values() zwraca posortowane DF, ale nie sortuje się.

Więc użyj:

df = df.sort_values(by="date")

lub

df.sort_values(by="date", inplace=True)

1 dla odpowiedzi nr 2

Próbować

df["Date"]=pd.to_datetime(df.Date)
df.sort_values(["Date"])

1 dla odpowiedzi nr 3

Jeśli masz ramkę danych taką jak poniżej:

df = pd.DataFrame({"col1" : ["A", "A", "B", np.nan, "D", "C"],
"col2" : [2, 1, 9, 8, 7, 4],
"col3": [0, 1, 9, 4, 2, 3], })

Tak to sortujesz:

df = df.sort_values(by=["col1"])

Podobny problem z rozwiązaniem na stackoverflow: jak sortować ramkę danych pand z jednej kolumny Odniesienie do pandy: http://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.DataFrame.sort.html