Saya mendapat kode yang berjalan yang mengimpor file Excel, dan saya ingin dapat mengurutkan beberapa data di dalamnya dan menulisnya ke file Excel baru. Saya mendapatkan kode yang berfungsi agak seperti yang saya inginkan, tetapi tidak dapat membuatnya mengurutkan nilai-nilai yang diinginkan ... Saya ingin mengurutkan DF dari kolom bernama "varetekst" (maaf untuk tidak ditulis dalam bahasa Inggris!) Bagaimana saya bisa mengurutkan DF dari kolom yang berisi string? Saya telah mencoba beberapa solusi dan saya pikir mungkin masalahnya adalah kolom adalah obj dan bukan str.

 filt_liste_fisk_1 = (liste_fisk[liste_fisk['EAN'].str.len() <= 4])
    filt_liste_fisk = liste_fisk[liste_fisk['EAN'].str.startswith("2000")]
    fiskeliste = pd.read_excel(r'C:\Users\Kevin\Desktop\MENY\Filtrerings lister\liste_fisk.xlsx',index_col = False)
    fiskeliste['EAN'] = fiskeliste['EAN'].map(str)
    fiskeliste1 = df[df['EAN'].isin(set(fiskeliste['EAN']))]
    fiskliste = pd.concat([filt_liste_fisk_1, filt_liste_fisk,fiskeliste1])
    print_fisk = fiskliste.drop(['Lagertype'], axis = 1).drop(['Vindu'], axis = 1)
    print_fisk.astype(({'Varetekst': 'str'}))
    print_fisk.sort_values(by=["Varetekst"], ascending=True)  
    print(print_fisk)

Ada lebih banyak ke kode, di mana saya mengimpornya dan menuliskannya ke file Excel. Tapi ini adalah tempat saya melakukan semua pekerjaan, jadi inilah yang dihasilkan dari kode output:

   Bestilt Enhet                                          Varetekst       EAN
107       1    KG  Ferske Reker   | (Minimum holdbarhetsdato: 31-...      1893
108     0.7    KG  Ferske Reker   | (Minimum holdbarhetsdato: 31-...      1893
120     0.6    KG  Ferske Reker   | (Minimum holdbarhetsdato: 31-...      1893
123     1.6    KG  Ferske Reker   | (Minimum holdbarhetsdato: 31-...      1893
99        1   STK  Krabbeskjell Håndrenset m/Klokjøtt pr stykk  |...  20001951
104     0.6    KG  Skrei skiver pr Kg  | (Minimum holdbarhetsdato...  20001922
106       1   STK  Blåskjell Levende pr Kg  | (Minimum holdbarhet...  20001990
113     0.5    KG  Rå Skreirogn   | (Minimum holdbarhetsdato: 01-...  20001941
117     0.6    KG  Skrei skiver pr Kg  | (Minimum holdbarhetsdato...  20001922
119       1   STK  Blåskjell Levende pr Kg  | (Minimum holdbarhet...  20001990
122     0.3    KG  Steinbit Filet pr Kg  | (Minimum holdbarhetsda...  20001927
133     0.5    KG                          Reker 60/80 Frosne pr Kg   20005200
Filtrering ferdig!
0
KevinElshaug 2 April 2021, 23:44

1 menjawab

Jawaban Terbaik

Penyortiran tidak disimpan di tempat secara default (seperti dengan operasi PANDAS secara umum).

Baik set inplace=True:

print_fisk.sort_values(by=["Varetekst"], ascending=True, inplace=True)

Atau menetapkan kembali ke print_fisk jika inplace tidak diatur:

print_fisk = print_fisk.sort_values(by=["Varetekst"], ascending=True)
0
tdy 2 April 2021, 23:22