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

标签 python pandas dataframe

在 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

最佳答案

所以您可以做的是构建一个临时数据框并将其合并回您现有的数据框:

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

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

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

关于python - 使用整数映射 Pandas Dataframe 中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346552/

相关文章:

python : List of string in key value pairs to map

python - 使用 Pandas 将多行数据导出到 csv

python - 我们如何才能仅替换特定行中的 NaN?

python - 迭代 pandas 数据框中的行并应用 lambda 函数

python - postgres - 无法使用 psycopg2 删除数据库

python - 如何从带有附加分隔符的 csv 在 python 中创建 pandas 数据框?

c# - 在 python 中使用属性,如示例 C#

python - 优化 "group by"并保持最大值或最小值 - MySQL/Python

python - 强制 Python Pandas DataFrame( read_csv() 方法)避免/不将我的 csv/txt 文件的第一行视为标题

python - Pandas:如何为每组值分配标签?