Alcuni joker hanno creato un database/applet Lotus per il monitoraggio dei problemi di progettazione nella nostra azienda. Lo scherzo è che l'informazione chiave è stata nominata con un carattere speciale ... un segno numerico (tag hash, cancelletto, \ u0023).nome colonna dataframe panda: rimuovere special charater
campione abbreviata:
KA# Issue Date Current Position
27144 1/9/2014 Accounting
27194 12/20/2012 Engineering
32474 4/21/2008 Engineering
32623-HOLD 4/25/2016 Engineering
32745 11/13/2012 SEPE
32812 10/30/2013 Engineering
32817 12/7/2012 Purchasing
32839 1/8/2013 SEPE
I uscita questa tabella (4K righe, 15 colonne) in un file csv e processo in python3 come dataframe panda.
Genero varie uscite. Se uso qualcosa come:
df.iloc[:,[0,3,1,8,9,10]]
ottengo uscita appropriato e la colonna chiave si presenta come "KA#"
. (Quando dico "colonna chiave", intendo "la cosa più importante" ... NON "indice" .Rengo un indice seriale)
Sfortunatamente, le persone a volte pasticciano con l'ordine delle colonne in Lotus tra le mie esportazioni in csv così Non posso garantire che "KA#"
sarà un qualsiasi numero di colonna. Vorrei utilizzare i nomi delle colonne:
df.loc[:,["KA#","Issue Date","Current Position"]]
ma la colonna "KA#"
è pieno di Nan.
Grazie per l'aiuto che puoi offrire.
Infine, se provo a cambiare titolo "KA#"
semplicemente "KA"
:
df['KA#'].name = 'KA'
tiri un KeyError e
df = df.rename(columns={"KA#": "ka"})
viene completamente ignorata. La colonna si presenta come "KA#"
.
Qualcuno può pensare a un modo per sbarazzarsi o gestire quel simbolo? Mi piacerebbe persino accontentarmi di una regex a questo punto.
Grazie per l'aiuto che puoi offrire.
E in particolare, assegnare questo risultato a 'df.columns'. – chrisaycock
sì puoi vedere questo nella documentazione. – shivsn
Mi sono preso cura del mio problema perché avevo solo una colonna con un carattere improprio e volevo che sparisse. Quindi, "risposta". e "grazie" a Shivsn. Se volessi scegliere come target una particolare colonna, questa sarebbe una metodologia piuttosto maldestra. Penso che mi preoccuperò di quello quando ci arrivo. –