지즈 데이터셋

제7차 전국 인구총조사 데이터셋 [지표]

조회 351다운로드 18크기: 0.3형식: XLSX2024. 09. 06.

개요

       该数据集来源于第七次全国人口普查,提供了详细的乡镇级人口统计数据。数据覆盖了全国范围内各乡镇的人口分布情况,包括常住人口数量、城镇人口数量、城镇化率、性别分布、男女比例、少数民族比例、家庭户数、家庭人口数量以及平均户规模等关键指标。这些信息以Excel(xlsx)表格的形式存储,方便用户进行深入分析和研究。

       数据集特点:

      • 地理覆盖:全国乡镇级别
      • 数据格式:Excel(xlsx)
      • 指标内容:常住人口、城镇人口、城镇化率、性别分布、男女比例、少数民族比例、家庭户数、家庭人口数量、户规模
      • 应用场景:人口统计分析、城乡发展研究、社会经济规划、政策制定依据等

       通过本数据集,研究人员和政策制定者可以获得关于我国乡镇人口结构的全面视角,这对于理解城乡差异、规划基础设施建设、评估公共服务需求等方面具有重要意义。数据集不仅有助于学术界进行人口学和社会学的研究,同时也为企业和政府机构提供了重要的决策支持工具。

미리보기

常住人口城镇人口城镇化率男性女性男女比例少数民族比例家庭户数家庭人口户规模(人/户)
上海_-嘉定区_-嘉定区1834258155038884.52%988329845929116.831.827306461657382
上海_-嘉定区_-奉贤区114087265267157.21%614601526271116.781.534803701042922
上海_-嘉定区_-宝山区2235218216998197.08%11683181066900109.511.348773112084529
上海_-嘉定区_-崇明区(万人)外来人口140917167.865.1510.2527.8324.63
上海_-嘉定区_-徐汇区11130781113078100%54243957063995.061.55414874977841
上海_-嘉定区_-普陀区12398001239800100%61092162887997.141.54803901139300
上海_-嘉定区_-杨浦区12425481242548100%61472062782897.911.634632921100073
上海_-嘉定区_-松江区1909713167261887.58%1020220889493114.72.127327961698363
上海_-嘉定区_-浦东新区5681512511292789.99%29505242730988108.041.4721932215120736
上海_-嘉定区_-虹口区(万人)外来人口4460139673.127.1712.4724.4529.04
上海_-嘉定区_-金山区82277650673261.59%437838384938113.741.5325415760558
上海_-嘉定区_-长宁区693051693051100%33003336301890.911.83268009613787
上海_-嘉定区_-闵行区2653489261421898.52%13760241277465107.721.759590152319401
上海_-嘉定区_-青浦区127142494656774.45%694529576895120.391.755192761141674
上海_-嘉定区_-静安区(万人)外来人口529590392.5810.4515.5631.5135.05
上海_-嘉定区_-黄浦区662030662030100%343122318908107.592.36230246531367
上海_-奉贤区_-嘉定区1834258155038884.52%988329845929116.831.827306461657382
上海_-奉贤区_-奉贤区114087265267157.21%614601526271116.781.534803701042922
上海_-奉贤区_-宝山区2235218216998197.08%11683181066900109.511.348773112084529
上海_-奉贤区_-崇明区(万人)外来人口140917167.865.1510.2527.8324.63
上海_-奉贤区_-徐汇区11130781113078100%54243957063995.061.55414874977841
上海_-奉贤区_-普陀区12398001239800100%61092162887997.141.54803901139300
上海_-奉贤区_-杨浦区12425481242548100%61472062782897.911.634632921100073
上海_-奉贤区_-松江区1909713167261887.58%1020220889493114.72.127327961698363
上海_-奉贤区_-浦东新区5681512511292789.99%29505242730988108.041.4721932215120736
上海_-奉贤区_-虹口区(万人)外来人口4460139673.127.1712.4724.4529.04
上海_-奉贤区_-金山区82277650673261.59%437838384938113.741.5325415760558
上海_-奉贤区_-长宁区693051693051100%33003336301890.911.83268009613787
上海_-奉贤区_-闵行区2653489261421898.52%13760241277465107.721.759590152319401
上海_-奉贤区_-青浦区127142494656774.45%694529576895120.391.755192761141674
上海_-奉贤区_-静安区(万人)外来人口529590392.5810.4515.5631.5135.05
上海_-奉贤区_-黄浦区662030662030100%343122318908107.592.36230246531367
上海_-宝山区_-嘉定区1834258155038884.52%988329845929116.831.827306461657382
上海_-宝山区_-奉贤区114087265267157.21%614601526271116.781.534803701042922
上海_-宝山区_-宝山区2235218216998197.08%11683181066900109.511.348773112084529
上海_-宝山区_-崇明区(万人)外来人口140917167.865.1510.2527.8324.63
上海_-宝山区_-徐汇区11130781113078100%54243957063995.061.55414874977841
上海_-宝山区_-普陀区12398001239800100%61092162887997.141.54803901139300
上海_-宝山区_-杨浦区12425481242548100%61472062782897.911.634632921100073
上海_-宝山区_-松江区1909713167261887.58%1020220889493114.72.127327961698363
上海_-宝山区_-浦东新区5681512511292789.99%29505242730988108.041.4721932215120736
上海_-宝山区_-虹口区(万人)外来人口4460139673.127.1712.4724.4529.04
上海_-宝山区_-金山区82277650673261.59%437838384938113.741.5325415760558
上海_-宝山区_-长宁区693051693051100%33003336301890.911.83268009613787
上海_-宝山区_-闵行区2653489261421898.52%13760241277465107.721.759590152319401
上海_-宝山区_-青浦区127142494656774.45%694529576895120.391.755192761141674
上海_-宝山区_-静安区(万人)外来人口529590392.5810.4515.5631.5135.05
上海_-宝山区_-黄浦区662030662030100%343122318908107.592.36230246531367
上海_-崇明区_-嘉定区1834258155038884.52%988329845929116.831.827306461657382

샘플 코드 (Python 로더)

       由于人口普查数据集通常是结构化的表格数据,深度学习在此类数据上的应用不如在图像或文本数据上常见。不过,可以尝试构建一个深度学习模型来对某些人口统计指标进行预测,例如城镇化率、男女比例等。这里我们将使用PyTorch来构建一个简单的多层感知器(MLP)模型来进行预测。

       首先,确保安装了必要的库:

pip install pandas torch

       以下是使用PyTorch构建MLP模型的基础代码示例:

import pandas as pd
import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from torch.utils.data import TensorDataset, DataLoader

# 读取数据
file_path = 'path_to_your_file.xlsx'
df = pd.read_excel(file_path)

# 预处理数据
# 假设目标是预测城镇化率
features = ['常住人口', '城镇人口', '男性', '女性', '男女比例', '少数民族比例', '家庭户数', '家庭人口', '户规模(人/户)']
target = '城镇化率'

# 将数据划分为特征和目标变量
X = df[features].values
y = df[target].values

# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 转换为张量
X_train_tensor = torch.tensor(X_train, dtype=torch.float32)
y_train_tensor = torch.tensor(y_train, dtype=torch.float32).view(-1, 1)
X_test_tensor = torch.tensor(X_test, dtype=torch.float32)
y_test_tensor = torch.tensor(y_test, dtype=torch.float32).view(-1, 1)

# 创建数据加载器
train_dataset = TensorDataset(X_train_tensor, y_train_tensor)
test_dataset = TensorDataset(X_test_tensor, y_test_tensor)

train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

# 定义MLP模型
class MLP(nn.Module):
    def __init__(self, input_dim, hidden_dim, output_dim):
        super(MLP, self).__init__()
        self.fc1 = nn.Linear(input_dim, hidden_dim)
        self.fc2 = nn.Linear(hidden_dim, hidden_dim)
        self.fc3 = nn.Linear(hidden_dim, output_dim)
        self.relu = nn.ReLU()

    def forward(self, x):
        x = self.relu(self.fc1(x))
        x = self.relu(self.fc2(x))
        x = self.fc3(x)
        return x

input_dim = len(features)
hidden_dim = 64
output_dim = 1

model = MLP(input_dim, hidden_dim, output_dim)

# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

# 训练模型
num_epochs = 100
for epoch in range(num_epochs):
    for inputs, targets in train_loader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, targets)
        loss.backward()
        optimizer.step()

    if (epoch + 1) % 10 == 0:
        print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')

# 测试模型
model.eval()
with torch.no_grad():
    test_loss = 0
    for inputs, targets in test_loader:
        outputs = model(inputs)
        test_loss += criterion(outputs, targets).item()
    print(f'Test Loss: {test_loss / len(test_loader):.4f}')

       这段代码展示了如何使用PyTorch来定义一个简单的多层感知器模型,并使用给定的数据集进行训练,目的是预测城镇化率。请注意,实际应用时可能需要根据数据的具体情况进行调整,比如调整隐藏层大小、学习率等超参数。此外,这里使用了均方误差(MSE)作为损失函数,适合回归任务。