在Pandas DataFrame
中如何使用整数映射一列中的字符串。我在DataFrame
中有大约500个字符串,需要用以“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
我已将所有请求列入列表。
requestlist = df.Request.unique()
不知道如何使用1-500映射这些请求。类似的问题。 python pandas replacing strings in dataframe with numbers
答案 0 :(得分:10)
所以你可以做的是构建一个临时数据帧并将其合并回现有的数据帧:
temp_df = pd.DataFrame({'Request': df.Request.unique(), 'Request_id':range(len(df.Request.unique()))})
现在将其合并回原始数据框
df = df.merge(temp_df, on='Request', how='left')