2014-03-12 4 views
5

In Pandas DataFrame wie Sie Zeichenfolgen in einer Spalte mit Ganzzahlen abbilden. Ich habe ungefähr 500 Zeichenfolgen in der DataFrame und muss sie durch Ganzzahlen ersetzen, die mit "1" beginnen.Zuordnen von Zeichenfolgenwerten in einem Pandas-Dataframe mit Ganzzahlen

Beispiel DataFrame.

        Request count 
547    GET /online/WebResource.axd 37506 
424    GET /online/2/2/22001.aspx 13315 
699   POST /online/2/6/1/261001.aspx 13236 
546   GET /online/ScriptResource.axd 12255 
492    GET /online/2/6/Home.aspx 10462 
660    POST /online/2/2/22001.aspx 9803 

Ich habe alle Anfragen in eine Liste aufgenommen.

requestlist = df.Request.unique() 

keine Vorstellung davon, wie diese Anforderungen mit 1-500 abzubilden. Ähnliche Frage. python pandas replacing strings in dataframe with numbers

+0

So möchten Sie analysieren die URL-Anfrage, um nach der Zeichenkette vor der .axd oder .aspx zu suchen und dann zu einem int? Was machen Sie mit diesem int, wird dies einen Index bilden oder wird es einer anderen Spalte zugeordnet? – EdChum

+0

@EdChum: Es gibt keine Assoziation mit der URL und der Ganzzahl, die wir zuordnen. Ich muss sie nur abbilden, um sie für andere Bearbeitungen einfacher zu machen. –

+0

Sie wollen also nur die eindeutigen Anfragen auflisten, ist das korrekt? – EdChum

Antwort

9

Also, was Sie tun können, ist ein temporären Datenrahmen konstruieren und diese zurück zu Ihrem bestehenden Datenrahmen verschmelzen:

temp_df = pd.DataFrame({'Request': df.Request.unique(), 'Request_id':range(len(df.Request.unique()))}) 

nun diese zurück zu Ihrem ursprünglichen Datenrahmen verschmelzen

df = df.merge(temp_df, on='Request', how='left') 
+0

Danke, gearbeitet! :) –

Verwandte Themen