使用整数映射Pandas Dataframe中的字符串值

Nil*_*age 7 python dataframe pandas

在Pandas中DataFrame如何使用整数映射一列中的字符串.我有大约500个字符串,DataFrame需要用"1"开头的整数替换它们.

样品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
Run Code Online (Sandbox Code Playgroud)

我已将所有请求列入清单.

requestlist = df.Request.unique()
Run Code Online (Sandbox Code Playgroud)

不知道如何使用1-500映射这些请求.类似的问题.python pandas用数字替换数据帧中的字符串

EdC*_*ica 10

那么你可以做的是构建一个临时数据帧并将其合并回现有的数据帧:

temp_df = pd.DataFrame({'Request': df.Request.unique(), 'Request_id':range(len(df.Request.unique()))})
Run Code Online (Sandbox Code Playgroud)

现在将其合并回原始数据框

df = df.merge(temp_df, on='Request', how='left')
Run Code Online (Sandbox Code Playgroud)