Ho un dataframe di panda di python df
con molte righe. Da quelle file, voglio dividere e utilizzare solo le righe che contengono la parola "palla" nella colonna "corpo". Per fare questo, posso fare:Filtraggio delle righe del dataframe di panda contenenti str
df[df['body'].str.contains('ball')]
Il problema è, io voglio che sia case insensitive, il che significa che se la parola palla o si presentò, io voglio quelli pure. Un modo per fare una ricerca senza distinzione tra maiuscole e minuscole consiste nel trasformare la stringa in minuscolo e quindi cercare in quella direzione. Mi sto chiedendo come fare per farlo. Ho provato
df[df['body'].str.lower().contains('ball')]
Ma questo non funziona. Non sono sicuro se dovrei usare una funzione lambda su questo o qualcosa del genere.
A mazing. Ero vicino a concatenare eventi 'str'. Non sapevo che 'str.contains' ha un'opzione' case = False'. È fantastico. Ancora un seguito: ho ricevuto il temuto SettingWithCopy Warning a cui vi siete riferiti. Ti dispiacerebbe elaborarlo un po '? Il mio obiettivo è creare un nuovo dataframe delle sole righe contenenti "ball" – David
Questa è una storia un po 'troppo lunga da scrivere qui nei commenti. Puoi leggere [questa sezione] (http://pandas-docs.github.io/pandas-docs-travis/indexing.html?highlight=settingwithcopywarning#returning-a-view-versus-a-copy) della documentazione per una spiegazione. – DSM