机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践

大家好,我是微学AI,今天给大家介绍一下机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践。
近日,日本政府举行内阁成员会议,决定于2023年8月24日启动福岛核污染水排海。当地时间2023年8月24日13时,日本福岛第一核电站启动核污染水排海。福岛第一核电站的核污水中含有多种放射性物质。对人体存在伤害,其中,锶-90可导致骨组织肉瘤、引发白血病;铯-137会引起软组织肿瘤与癌症;碘-129容易导致甲状腺癌;碳-14可能会损害人类DNA。
在这里插入图片描述

一、放射性物质

放射性物质 存在着三种主要的射线类型,它们分别是阿尔法射线(α)、贝塔射线(β)和伽马射线(γ):
1.阿尔法射线( α \alpha α射线):阿尔法射线是由氦原子核组成的带电粒子束。由于它们包含两个质子和两个中子,因此具有正电荷。阿尔法射线的穿透能力较弱,一般只能穿透数厘米的空气或者几个微米的固体,因此阿尔法射线通常不能通过人体或纸张等薄材料。然而,如果被内部摄入或吸入,则可能对人体造成较大的伤害。

2.贝塔射线( β \beta β射线):贝塔射线是由带电的高速电子或正电子组成的粒子束。电子射线称为 β − \beta^- β射线,而正电子射线称为 β + \beta^+ β+射线。贝塔射线比阿尔法射线具有更强的穿透能力,可以穿透空气和一些较薄的固体物质。然而,贝塔射线的穿透能力仍然相对有限,在适当的屏蔽下可以有效地阻挡。

3.伽马射线( γ \gamma γ射线):伽马射线是高能电磁辐射,类似于X射线。与阿尔法射线和贝塔射线不同,伽马射线不携带任何电荷或粒子,因此不受电场或磁场的影响。伽马射线具有很强的穿透能力,可以穿透大部分常见物质,包括人体组织。为了有效屏蔽伽马射线,通常需要使用较厚的铅、混凝土或其他密度较高的材料。

二、三种射线的核反应

以下是三种射线的典型核反应方程式的示例:

1.阿尔法射线 ( α \alpha α) 反应方程:
Z A X → Z − 2 A − 4 Y + 2 4 α \begin{equation} _{Z}^{A}X \rightarrow _{Z-2}^{A-4}Y + _{2}^{4}\alpha \end{equation} ZAXZ2A4Y+24α

这里 X X X 代表起始元素, Y Y Y 代表产生的元素, Z A _{Z}^{A} ZA 表示原子序数为 Z Z Z,质量数为 A A A 的核。

2.贝塔射线 ( β \beta β) 反应方程:
Z A X → Z + 1 A Y + e − + ν e ˉ \begin{equation} _{Z}^{A}X \rightarrow _{Z+1}^{A}Y + e^{-} + \bar{\nu_e} \end{equation} ZAXZ+1AY+e+νeˉ

这里 X X X 代表起始元素, Y Y Y 代表产生的元素, Z A _{Z}^{A} ZA 表示原子序数为 Z Z Z,质量数为 A A A 的核。 e − e^{-} e 表示负电子(电子), ν e ˉ \bar{\nu_e} νeˉ 表示反中微子。

3.伽马射线 ( γ \gamma γ) 反应方程:
Z A X ∗ → Z A X + γ \begin{equation} _{Z}^{A}X^{*} \rightarrow _{Z}^{A}X + \gamma \end{equation} ZAXZAX+γ

这里 X ∗ X^{*} X 表示激发态的核, X X X 表示基态的核, γ \gamma γ 表示伽马射线。
在这里插入图片描述

三、核电站的数据加载

数据下载地址:链接:https://pan.baidu.com/s/1wz5L2ykpjUNlKs2icTWkNg?pwd=2j0r
提取码:2j0r

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as pltdf = pd.read_csv('nuclear.csv', delimiter=',')countries_shortNames = [['UNITED STATES OF AMERICA', 'USA'], \['RUSSIAN FEDERATION', 'RUSSIA'], \['IRAN, ISLAMIC REPUBLIC OF', 'IRAN'], \['KOREA, REPUBLIC OF', 'SOUTH KOREA'], \['TAIWAN, CHINA', 'CHINA']]
for shortName in countries_shortNames:df = df.replace(shortName[0], shortName[1])

三、核电站的世界分布

import folium
import matplotlib.cm as cm
import matplotlib.colors as colorslatitude, longitude = 40, 10.0
map_world_NPP = folium.Map(location=[latitude, longitude], zoom_start=2)viridis = cm.get_cmap('viridis', df['NumReactor'].max())
colors_array = viridis(np.arange(df['NumReactor'].min() - 1, df['NumReactor'].max()))
rainbow = [colors.rgb2hex(i) for i in colors_array]for nReactor, lat, lng, borough, neighborhood in zip(df['NumReactor'].astype(int), df['Latitude'].astype(float),df['Longitude'].astype(float), df['Plant'], df['NumReactor']):label = '{}, {}'.format(neighborhood, borough)label = folium.Popup(label, parse_html=True)folium.CircleMarker([lat, lng],radius=3,popup=label,color=rainbow[nReactor - 1],fill=True,fill_color=rainbow[nReactor - 1],fill_opacity=0.5).add_to(map_world_NPP)# 在地图上显示
map_world_NPP.save('world_map.html')  # 保存为 HTML 文件
# 然后打开world_map.html 文件 可以看到

在这里插入图片描述
在这里插入图片描述

四、拥有最多核反应堆的20个国家对比

countries = df['Country'].unique()
df_count_reactor = [[i, df[df['Country'] == i]['NumReactor'].sum(), df[df['Country'] == i]['Region'].iloc[0]] for i incountries]
df_count_reactor = pd.DataFrame(df_count_reactor, columns=['Country', 'NumReactor', 'Region'])
df_count_reactor = df_count_reactor.set_index('Country').sort_values(by='NumReactor', ascending=False)[:20]
ax = df_count_reactor.plot(kind='bar', stacked=True, figsize=(10, 3),title='The 20 Countries With The Most Nuclear Reactors in 2010')
ax.set_ylim((0, 150))
for p in ax.patches:ax.annotate(str(p.get_height()), xy=(p.get_x(), p.get_height() + 2))
df_count_reactor['Country'] = df_count_reactor.index
sns.set(rc={'figure.figsize': (11.7, 8.27)})
sns.set_style("whitegrid")
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
ax = sns.barplot(x="NumReactor", y="Country", hue="Region", data=df_count_reactor, dodge=False, orient='h')
ax.set_title('2010年拥有最多核反应堆的20个国家', fontsize=16)
ax.set_xlabel('Reactors', fontsize=16)
ax.set_ylabel('')
ax.legend(fontsize='14')plt.show()

在这里插入图片描述

五、核电站暴露人口的分析

def getMostExposedNPP(Exposedradius):df_pop_sort = df.sort_values(by=str('p10_' + str(Exposedradius)), ascending=False)[:10]df_pop_sort['Country'] = df_pop_sort['Plant'] + ',\n' + df_pop_sort['Country']df_pop_sort = df_pop_sort.set_index('Country')df_pop_sort = df_pop_sort.rename(columns={str('p90_' + str(Exposedradius)): '1990', str('p00_' + str(Exposedradius)): '2000',str('p10_' + str(Exposedradius)): '2010'})df_pop_sort = df_pop_sort[['1990', '2000', '2010']] / 1E6ax = df_pop_sort.plot(kind='bar', stacked=False, figsize=(10, 4))ax.set_ylabel('Population Exposure in millions', size=14)ax.set_title('Location of nuclear power plants \n with the most exposed population \n within ' + Exposedradius + ' km radius',size=16)print(df_pop_sort['2010'])getMostExposedNPP('30')latitude, longitude = 40, 10.0
map_world_NPP = folium.Figure(width=100, height=100)
map_world_NPP = folium.Map(location=[latitude, longitude], zoom_start=2)for nReactor, lat, lng, borough, neighborhood in zip(df['NumReactor'].astype(int), df['Latitude'].astype(float),df['Longitude'].astype(float), df['Plant'], df['NumReactor']):label = '{}, {}'.format(neighborhood, borough)label = folium.Popup(label, parse_html=True)folium.Circle([lat, lng],radius=30000,popup=label,color='grey',fill=True,fill_color='grey',fill_opacity=0.5).add_to(map_world_NPP)Exposedradius = '30'
df_sort = df.sort_values(by=str('p10_' + str(Exposedradius)), ascending=False)[:10]for nReactor, lat, lng, borough, neighborhood in zip(df_sort['NumReactor'].astype(int),df_sort['Latitude'].astype(float),df_sort['Longitude'].astype(float), df_sort['Plant'],df_sort['NumReactor']):label = '{}, {}'.format(neighborhood, borough)label = folium.Popup(label, parse_html=True)folium.CircleMarker([lat, lng],radius=5,popup=label,color='red',fill=True,fill_color='red',fill_opacity=0.25).add_to(map_world_NPP)for nReactor, lat, lng, borough, neighborhood in zip(df_sort['NumReactor'].astype(int),df_sort['Latitude'].astype(float),df_sort['Longitude'].astype(float), df_sort['Plant'],df_sort['NumReactor']):label = '{}, {}'.format(neighborhood, borough)label = folium.Popup(label, parse_html=True)folium.Circle([lat, lng],radius=30000,popup=label,color='red',fill=True,fill_color='red',fill_opacity=0.25).add_to(map_world_NPP)
# 在地图上显示
map_world_NPP.save('world_map2.html')  # 保存为 HTML 文件

在这里插入图片描述

六、总结

如果核电站靠近人口密集区,核污染水排海可能对周边人口产生一些严重影响:

1.健康风险:放射性物质对人体健康产生潜在威胁。如果核污染水排入海洋,有可能通过海洋食物链的途径进入人类的食物供应链中,从而增加食物中放射性物质的摄入风险。不当接触或摄入这些物质可能导致慢性疾病,如癌症和其他与放射性物质相关的健康问题。

2.社会心理影响:核事故可能引发社会心理压力和不安感。居住在福岛核电站附近的居民可能面临被迫疏散、失去家园、生活不稳定等问题,这对他们的心理健康和社会适应能力造成挑战。

3.经济影响:核事故对当地经济造成了持续的冲击。核电站事故导致了大量的停工和疏散措施,对当地居民和企业的生计和经济活动造成了严重影响。此外,核事故还对当地旅游业、农业和渔业等行业带来负面影响,进一步加剧了经济困难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/55118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带你了解Python的重要性,就算做测试也要会Python(文末送书)

名字:阿玥的小东东 学习:Python、C/C++ 主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主 目录 人生苦短,我用 Python 在测试工作中用好 Python

若依上传文件及后端解析

1.前端设计导入 <!-- 用户导入对话框 --><el-dialog :title"upload.title" :visible.sync"upload.open" width"400px" append-to-body><el-upload ref"upload" :limit"1" accept".xlsx, .xls" :he…

JAVA中如何知道某项目使用什么数据库类型

文章目录 1. 前言2. 先说结论3. 代码案例 1. 前言 最近在写第三方工具的时候&#xff0c;需要判断使用方项目具体使用了什么数据库类型&#xff0c;从而进行不一样的实现逻辑。当然可以让用户在YML中配置说明项目用什么数据库&#xff0c;但用户不一定填写正确。因此需要想其他…

【C语言】操作符大全(保姆级介绍)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 &#x1f525;该篇将详细介绍各种操作符的功能。 目录&#xff1a; &#x1f4d8; 前言① 算术操作符②移位操作符③位操作符④赋值操…

go-基础-1-变量-记录

go 变量 变量定义 var 变量名 变量类型 变量赋值 var 变量名 变量类型 变量值 变量名 : 变量值 package mainimport "fmt"func main() {var name string "chang"fmt.Println(name) }package mainfunc main() {var (name stringage intsex string…

深度思考线程池面经之二:jdk线程池设计答疑

2 疑问 2.1 这里的“只有当线程池是无界的或者可以拒绝任务时&#xff0c;该队列才有实际价值”&#xff0c;为什么这么说 SynchronousQueue是一种特殊的队列&#xff0c;它不保留任务&#xff0c;而是直接将任务移交给工作线程。这种队列适合于执行大量生命周期非常短的异步…

基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于微信小程序的宠物领养平台的设计与实现&#xff08;Javaspring boot微信小程序MySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java…

RT-Thread 线程管理(学习一)

RT-Thread是支持多任务的操作系统&#xff0c;多任务通过多线程的方式实现。线程是任务的载体&#xff0c;也是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文&#xff0c;具体来说就是各个变量和数据&#xff0c;包括所有的寄存器变量、堆栈、内存信息等。 特点 …

局部代码重复执行

给定一个长度为 n 的序列 a &#xff0c;请你构造一个序列 b &#xff0c;序列 b 满足以下条件: 1.序列 b 的长度为 n 2.对于任意 i ∈[1, n]&#xff0c;满足 ( ai bi ) mod i 0 3.对于任意i ∈[1, n]&#xff0c;满足 1 ≤bi ≤10^9 4.对于任意1≤i<j≤n&#xff0c;满足…

【Qt学习】04:QDialog

QDialog OVERVIEW QDialog一、自定义对话框1.模态对话框2.非模态对话框3.练习代码 二、标准对话框1.消息对话框2.文件对话框3.颜色对话框4.字体对话框 对话框是 GUI 程序中不可或缺的组成部分&#xff0c;对话框通常会是一个顶层窗口出现在程序最上层&#xff0c;用于实现短期任…

在大规模推荐系统中整合 ML 模型的经验教训

一、说明 在这篇博文中&#xff0c;我们分享了将 Netflix 大规模搜索和推荐系统的多个相关机器学习模型整合到一个统一模型中的系统设计经验。给定不同的推荐用例&#xff0c;许多推荐系统将每个用例视为单独的机器学习任务&#xff0c;并为每个任务训练定制的 ML 模型。相比之…

python进阶之图像编程 pillow扩展库

一、概述 1.1pillow简介 Python Imaging Library (PIL)是python 下的图像处理模块,支持多种格式&#xff0c;并提供强大的图像处理功能&#xff0c;可以通过pip进行安装后使用。 1.2pillow具体应用 Pillow 库是 Python3 最常用的图像处理库&#xff0c;它支持多种图像格式&a…

npm script命令

1 串行/并行执行命令 //串行 npm-run-all text test npm run text && npm run test //并行改成& npm-run-all --parallel text test npm run text & npm run test2 传递参数 {"lint": "eslint js/*.js","lint:fix"&#xff1a…

VBA Excel自定义函数的使用 简单的语法

一个简单的教程&#xff0c;实现VBA自定义函数。 新建模块 复制后面的代码放进来 函数的入口参数不定义&#xff0c;则认为是一块区域&#xff1b; 反之&#xff0c;如FindChar1 As String&#xff0c;则认为是输入的单值。 循环和分支如下例子&#xff0c;VB比较接近自然语…

第9章 【C语言】用户自己建立数据类型

9.1 定义和使用结构体变量 9.1.1 自己建立结构体类型 变量大多数是互相独立的、无内在联系的。C语言允许用户建立由不同类型数据组成的组合型的数据结构&#xff0c;它称为结构体。 在程序中可以自己建立一个结构体类型&#xff1a; struct Student{int num; //学号为整…

IDEA 配置注释模板

目录 一、配置类模板注释 二、配置方法注释 一、配置类模板注释 打开IDEA&#xff0c;打开settings(快捷键&#xff1a;Ctrl Alt s)&#xff0c;选择Editor&#xff0c;找到File and Code Templates&#xff0c;设置需要配置注释的文件类型&#xff0c;如下图所示&#xf…

Git版本管理(04) git中常见问题整理

1 git pull 和git fetch之间的差别 git pull和git fetch都是用于从远程仓库获取更新的Git命令&#xff0c;它们之间的主要差别如下&#xff1a; git fetch&#xff1a;git fetch命令将从远程仓库下载最新的提交和分支信息&#xff0c;但不会自动合并或更新本地分支。执行git …

rust学习-引用C库

link和extern #[link(name = "...")] 是一个用于链接外部库的属性宏。 可以在 Rust 代码中引入其他语言编写的动态链接库(.so、.dll 等文件),从而实现 Rust 和其他语言的互操作。 #[link(name = "...")] 属性宏用于在 Rust 模块中引入标准 C 库(如 m…

入门超值型32位单片机MM32G0001开发板

灵动微入门级超值型MM32G0001系列MCU。采用48MHz ArmCortex-M0内核&#xff0c;提供16KB Flash和2KB SRAM&#xff0c;并提供丰富的外设资源。适用于多种多样的入门级32位MCU市场&#xff0c;可覆盖广泛的8/16位MCU升级需求。MM32G0001在各种温度范围内的闪存擦写寿命与数据保存…

服务器自动备份、打包、传输脚本

备份脚本 #!/bin/bash #author cheng #备份服务器自动打包归档每天的备份文件 Path/backhistory Host$(hostname) Date$(date %F) Dest${Host}_${Date}#创建目录 mkdir -p ${Path}/${Dest}#打包文件到目录 cd / && \#结合autoback.sh脚本&#xff0c;它往那个地方备&a…