news 2026/6/12 7:29:53

统计和占比分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
统计和占比分析

## 问题1: 现在有一张 country_populartion 表,包含:id,country,city,popularation 字段,请使用 sql 和 Python 统计每个城市的人口占比,统计指定城市的人口占比?

sql

"SELECT
country,
city,
population,
ROUND(
(population * 100.0) / SUM(population) OVER(), 2
) AS percentage
FROM country_population
ORDER BY population DESC;
"

python

"import pandas as pd

# 假设 df 是从数据库读取的 DataFrame
# df = pd.read_sql("SELECT * FROM country_population", connection)

# 计算总人口
total_pop = df['population'].sum()

# 计算占比
df['percentage'] = (df['population'] / total_pop) * 100
df['percentage'] = df['percentage'].round(2) # 保留两位小数

print(df[['country', 'city', 'population', 'percentage']])

"

## 问题2.现在有一张 country_populartion 表,包含:id,country,city,popularation 字段,统计指定城市的人口占比?

sql

"-- 方案 A:将指定城市合并为一行计算总占比
SELECT
'Top_Cities' AS group_name,
SUM(population) AS total_pop,
ROUND(
(SUM(population) * 100.0) / (SELECT SUM(population) FROM country_population), 2
) AS percentage
FROM country_population
WHERE city IN ('北京', '上海', '深圳');

-- 方案 B:列出指定城市,并计算它们各自及合计的占比
SELECT
city,
population,
ROUND(
(population * 100.0) / (SELECT SUM(population) FROM country_population), 2
) AS percentage
FROM country_population
WHERE city IN ('北京', '上海', '深圳');

"

python

"

import pandas as pd

# 假设 df 是原始数据
# df = pd.read_sql("SELECT * FROM country_population", connection)

# 定义你感兴趣的指定城市列表
target_cities = ['北京', '上海', '深圳']

# 筛选出指定城市的数据
df_target = df[df['city'].isin(target_cities)].copy()

# 计算总人口(用于做分母)
total_population = df['population'].sum()

# 计算每个指定城市的占比
df_target['percentage'] = (df_target['population'] / total_population) * 100
df_target['percentage'] = df_target['percentage'].round(2)

# 如果你想计算这“几个城市”加起来的总占比:
combined_percentage = df_target['population'].sum() / total_population * 100
print(f"指定城市({target_cities})总人口占比: {combined_percentage:.2f}%")

# 显示各个城市的占比详情
print(df_target[['city', 'population', 'percentage']])

"

3.统计每个国家人口总数排名前二的城市

sql

"SELECT
country,
city,
population
FROM (
SELECT
country,
city,
population,
ROW_NUMBER() OVER (PARTITION BY country ORDER BY population DESC) AS rn
FROM country_population
WHERE population IS NOT NULL -- 排除空值
) ranked
WHERE rn <= 2
ORDER BY country, rn;
"

python

"import pandas as pd

# 假设 df 是从数据库读取的数据

# df = pd.read_sql("SELECT * FROM country_population", connection)

# 1. 数据清洗:去除人口为空的行

df = df.dropna(subset=['population'])

# 2. 按国家分组,组内按人口降序排序,并生成排名

df['rank'] = df.groupby('country')['population'].rank(method='first', ascending=False)

# 3. 筛选排名前2的城市

result = df[df['rank'] <= 2]

# 4. 选择需要展示的列并排序

result = result[['country', 'city', 'population', 'rank']].sort_values(['country', 'rank'])

print(result)

"

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:16:48

Qwen2.5与ChatGLM4对比评测:数学与编程能力谁更强?

Qwen2.5与ChatGLM4对比评测&#xff1a;数学与编程能力谁更强&#xff1f; 1. 选型背景与评测目标 随着大语言模型在科研、工程和教育领域的广泛应用&#xff0c;其在数学推理与代码生成方面的能力成为衡量模型智能水平的重要指标。通义千问&#xff08;Qwen&#xff09;系列…

作者头像 李华
网站建设 2026/6/10 18:11:26

ElaWidgetTools:5分钟打造专业级FluentUI桌面应用

ElaWidgetTools&#xff1a;5分钟打造专业级FluentUI桌面应用 【免费下载链接】ElaWidgetTools Fluent-UI For QT-Widget 项目地址: https://gitcode.com/gh_mirrors/el/ElaWidgetTools 还在为Qt应用界面不够现代化而烦恼吗&#xff1f;&#x1f914; ElaWidgetTools正是…

作者头像 李华
网站建设 2026/6/10 18:44:27

音乐标签管理的终极解决方案:让数字音乐库焕然一新

音乐标签管理的终极解决方案&#xff1a;让数字音乐库焕然一新 【免费下载链接】music-tag-web 音乐标签编辑器&#xff0c;可编辑本地音乐文件的元数据&#xff08;Editable local music file metadata.&#xff09; 项目地址: https://gitcode.com/gh_mirrors/mu/music-tag…

作者头像 李华
网站建设 2026/6/9 0:15:36

LiteDB.Studio:轻量级数据库管理的终极可视化解决方案

LiteDB.Studio&#xff1a;轻量级数据库管理的终极可视化解决方案 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 你是否曾经为嵌入式数据库的调试和管理而烦…

作者头像 李华
网站建设 2026/6/10 21:46:16

图片旋转判断模型在云计算平台上的性能对比测试

图片旋转判断模型在云计算平台上的性能对比测试 1. 技术背景与测试目标 随着数字图像在移动端、扫描文档和社交媒体中的广泛应用&#xff0c;图片方向不一致的问题日益突出。用户拍摄的照片可能因设备传感器或手动操作导致旋转角度异常&#xff0c;影响后续的视觉分析、OCR识…

作者头像 李华
网站建设 2026/6/6 13:02:52

SGLang在任务规划场景的应用,逻辑清晰不翻车

SGLang在任务规划场景的应用&#xff0c;逻辑清晰不翻车 1. 引言&#xff1a;任务规划的挑战与SGLang的定位 1.1 大模型落地中的复杂任务瓶颈 随着大语言模型&#xff08;LLM&#xff09;在多轮对话、工具调用、结构化输出等复杂场景中的广泛应用&#xff0c;传统推理框架逐…

作者头像 李华