Nemrég szerettem volna egy DataFrame-et az alsztringje szerint rendezni. Kitaláltam egy egyszerű módszert a rendezés végrehajtására. Egy egyszerű példa segítségével végigvezetem a folyamaton, amelyet szükség szerint bővíthet. Ha valakinek van más megközelítése, kérem ossza meg.
Az első lépés a pandák importálása volt:
import pandas as pd
Ezután létrehozok egy listát, amelyet adatkeretté alakítottam át.
dummy = [[143, 'Francine live in Maryland'], [233, 'Johnny lives in Alabama'], [73, 'Bob lives in Florida']] df = pd.DataFrame(dummy, columns = ['ID', 'Information']) df
Ebben a példában az Információ oszlopban lévő állapotnév szerint szeretném rendezni a listát. Ezért ehhez a példához készítettem egy rövid állapotlistát. Valós esetben az összes állapotot felsoroltam volna. Ezután létrehozok egy üres állapotoszlopot. Következő ciklusban átugrom a DataFrame-emet, majd az állapotlistámat. Ha az állapot szerepel az információs oszlopban, akkor frissítem az állapotoszlopot.
states = ['Maryland', 'Alabama', 'Florida', 'Utah'] df['State'] = '' for index, row in df.iterrows(): for state in states: if state in row['Information']: df.at[index, 'State'] = state df
Végül a fenti DataFrame-et növekvő sorrendbe rendezem, és az inplace = True parancsot használom, hogy a rendezés állandó legyen. Végül törlöm az Állapot oszlopot. Most az információs oszlopom államnév szerint van rendezve.
df.sort_values(by = 'State', ascending = True, inplace = True) del df['State'] df
További tartalom a PlainEnglish.io oldalon. Iratkozzon fel ingyenes heti hírlevelünkre. Kövessen minket a Twitter és a LinkedIn oldalon. Tekintse meg a Community Discord-unkat, és csatlakozzon a Tehetségkollektívánkhoz.