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 № 1df.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