Tôi có khung dữ liệu df sau trong gấu trúc:
ngày trong tuần venta_total_cy
0 Viernes 5.430211e+09
1 âm lịch 3.425554e+09
2 Sabado 6.833202e+09
3 Domingo 6.566466e+09
4 Jueves 2.748710e+09
5 Mart 3.328418e+09
6 Miercoles 3.136277e+09
Những gì tôi muốn làm là sắp xếp khung dữ liệu theo thứ tự những ngày sau:
ngày trong tuần
âm lịch
Martes
Miercoles
Jueves
Viernes
Sabado
Domingo
Đối với điều này tôi đã sử dụng đoạn mã sau:
df['weekday'] = pd.Categorical(df[['weekday']], Category=["Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo" ])
Khi tôi chạy mã, tôi gặp lỗi sau:
ValueError: Không thể đặt mục trên Danh mục với danh mục mới, hãy đặt danh mục trước
Tôi không tìm thấy đủ tài liệu để giải quyết vấn đề này. bạn có thể giúp tôi được không? Cảm ơn!
df[['ngày trong tuần']]
Trả về một khung dữ liệu không chính xác. Sẽ loạt Các cột được chuyển đổi thành các cột phân loại. Ngoài ra, sử dụng đã ra lệnh=Đúng
Các tham số thiết lập trật tự trong các cột phân loại của bạn.
danh mục = np.array(
['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'])
df['ngày trong tuần'] = pd.Categorical(
df['ngày trong tuần'], danh mục=danh mục, đặt hàng=Đúng)
df.sort_values(by='weekday')
ngày trong tuần venta_total_cy
1 âm lịch 3.425554e+09
5 Mart 3.328418e+09
6 Miercoles 3.136277e+09
4 Jueves 2.748710e+09
0 Viernes 5.430211e+09
2 Sabado 6.833202e+09
3 Domingo 6.566466e+09
Tôi là một lập trình viên xuất sắc, rất giỏi!