Python Pandas 比较数据集中的属性并计算特定城市的总数

标签 python database pandas dataframe

我将如何在 Python Pandas 中解决这个问题?我会使用 Groupby 来解决问题 2 吗?我不需要代码中的答案,只需伪代码或操作解释就可以了。

Dataset 1
CITY    POPULATION
BOSTON   645,966
NEW YORK 8,336,697
CHICAGO  2,714,856

Dataset 2
Newspaper         City          Readers
Boston Globe     Boston, MA     245572
New York Times   New York, NY   1865318
Daily News       New York, NY   516165
New York Post    New York, NY   500521
Chicago Sun-Times Chicago, IL   470548 
Chicago Tribune  Chicago, IL     414930

(按顺序)列出修改数据集 2 中“City”属性中每个值的操作,以便可以将其直接与数据集 1 中的“CITY”属性进行比较。

假设每个报纸读者都阅读一份报纸,并且该报纸来自他们的家乡。列出计算每个城市报纸读者总数的操作。

最佳答案

首先匹配城市名称

city_dict = {
    'Boston, MA':'BOSTON'
    'New York, NY': 'NEW YORK'
    'Chicago, IL': 'CHICAGO'
}

dataset2['CITY'] = dataset['City'].map(city_dict)

然后按“城市”列对数据集 2 进行分组并对“读者”列求和

这是 Pandas documentation for groupby 的链接。本质上,您正在做与第一个示例相同的事情,只不过您仅按一列而不是两列进行分组,并且采用总和而不是平均值。如果您遇到困难,我可以给您一个代码示例,我知道您明确要求不要有一个代码示例。

关于Python Pandas 比较数据集中的属性并计算特定城市的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746407/

相关文章:

mysql 关系,使它们可选?

Bluemix 中的 Java DB Web 启动程序

python - 将 Dask Bag of Pandas DataFrame 转换为单个 Dask DataFrame

python - 与组比较值 - pandas

python - 使用fabric来操作数据库连接

python - 使用 fuzzywuzzy 时如何更有效地比较字符串?

mysql - LINUX MINT mysql

python - 限制打印输出

Eclipse 中的 Python 文档

python - Pandas 数据框 reshape 类型转换