【发布时间】:2018-11-26 19:15:37
【问题描述】:
我的数据集中 2 列的示例切片,以后需要。
**City** **Ranking**
Boston 9 of 2972
Boston 60 of 2972
Miami 6 of 1444
Miami 200 of 1444
Miami 3 of 1444
Miami 1 of 1444
我想创建一个名为individual.rank 的新列。它基于Ranking 列。我知道如何打印与每个城市相关的数据行,我只需要知道如何提取以及如何处理individual.rank 列。
结果应该类似于迈阿密的表格,例如:
**City** **Ranking** **individual.rank**
Miami 1 of 1444 1
Miami 2 of 1444 2
Miami 3 of 1444 3
对Ranking 进行排序,我可以针对特定城市这样做:
MiamiTable = data.loc[data['City'] == 'Miami']
MiamiTable.sort_values('Ranking')
我在 R 中使用了我不理解的函数和正则表达式。但我不知道如何在 Python 中做到这一点。 (df.restaurant.data是数据集):
pattern <- "[0-9?,]+" #
pattern.end <- "[0-9?,]+$"
df.restaurant.data <- df.restaurant.data %>%
mutate(individual.rank = str_replace(str_extract(Ranking, pattern),
",", "") %>%
as.numeric())
【问题讨论】:
-
你需要一个既懂R又懂Python的
dplyr-variant的人。代码似乎只是使用正则表达式来提取带逗号的数字。为什么 ”?”是在一个字符类里面虽然有点谜。为什么将带逗号的数字字符串传递给as.numeric应该在 R 中工作也是一个难题。我怀疑这是经过可靠测试的 R 代码。我的建议:编辑你的问题,把所有的“我”都大写,因为我们中的许多人认为这是懒惰和不尊重你的读者的标志,并从粗略的 R 代码中删除翻译请求。 -
通常一个问题需要一些代码,我可以粘贴并运行这些代码来复制您在任务中的进度或您的错误,否则它是一个“做我的工作”调用,这在 Stackoverflow 上没有得到广泛的赞赏
-
我只需要了解如何为迈阿密等城市或任何其他城市创建表格,并将我想要的新列和排名安排为上面发布的新表格。你可以忽略 R 代码片段并尝试专注于如何在 Python 中实现它,因为这是我的难点。