python读取广州-湛江天气csv文件并做可视化仪表盘(一)

简介: python读取广州-湛江天气csv文件并做可视化仪表盘(一)

1.读取广-湛.csv文件

import pandas as pd
data = pd.read_csv('广-湛天气.csv')
data

3343328097f0450a807d22e49f9f26cf.png

2.去除多余字符

#去除多余字符
data[['最高温度','最低温度']] = data[['最高温度','最低温度']].apply(lambda x: x.str.replace('°','').replace('', '0'))
data.head()

f7781545193d4f04a384859c4155f34d.png

3.删除2023年数据,并计算平均温度保存到广湛csv文件中

# 删除包含 target_str 的行
data = data[~data['日期'].str.contains('2023-')]
# 将最高温度和最低温度转换为数值型
data['最高温度'] = data['最高温度'].astype(float)
data['最低温度'] = data['最低温度'].astype(float)
# 计算平均温度
data['平均温度'] = (data['最高温度'] + data['最低温度']) / 2
# 保存结果
data.to_csv('广湛天气.csv', index=False)

4.读取新数据

#读取新数据
data = pd.read_csv('广湛天气.csv')
data

c55d1ea5c8314bf2b0c70e3b63da6da4.png

5.分割日期与星期

#分割日期与星期
data[['日期','星期']] = data['日期'].str.split(' ',expand=True,n=1)
data

6d4003d4733a4b01ab9380eccd9a9f0c.png

6.判断是否下雨

#是否下雨
data.loc[data['天气'].str.contains('雨'),'下雨吗']='是'
data.fillna('否',inplace=True)
#分割日期时间
data['日期'] = pd.to_datetime(data['日期'])
data[['最高温度','最低温度']] = data[['最高温度','最低温度']].astype('int')
data['年份'] = data['日期'].dt.year
data['月份'] = data['日期'].dt.month
data['日'] = data['日期'].dt.day
# 预览
data.sample(5)

feb390cfd1214f9b91d1542ce6fdeb2c.png

7.# 按城市和天气分组,并计算每组的天数

# 按城市和天气分组,并计算每组的天数
grouped = data.groupby(['城市', '天气']).size().reset_index(name='天数')
# 将结果按城市分为两个DataFrame
gz_weather = grouped[grouped['城市'] == '广州']
zj_weather = grouped[grouped['城市'] == '湛江']
gz_weather

35ab4507c113451f9431748494693e9f.png

8.将原有的天气类型按照关键字划分,并存进新的 DataFrame 中

# 定义一个函数,将原有的天气类型按照关键字划分
def classify_weather(weather):
    if '多云' in weather:
        return '多云'
    elif '晴' in weather:
        return '晴'
    elif '阴' in weather:
        return '阴'
    elif '大雨' in weather:
        return '雨'
    elif '中雨' in weather:
        return '雨'
    elif '小雨' in weather:
        return '雨'
    elif '雷阵雨' in weather:
        return '雨'
    elif '雾' in weather:
        return '雾'
    else:
        return '其他'
# 将原有的天气类型按照关键字划分,并存进新的 DataFrame 中
new_data = data[['城市', '天气']].copy()
new_data['新天气'] = new_data['天气'].apply(classify_weather)
new_data

b984c31fc79d4d89a009b4161dd31751.png

9.#按照城市和新天气列进行分组,并计算每一种天气的天数

# 按照城市和新天气列进行分组,并计算每一种天气的天数
count_data = new_data.groupby(['城市', '新天气'])['天气'].count().reset_index()
# 根据条件筛选出符合要求的行
df1 = count_data.loc[count_data['城市'] == '广州']
df2 = count_data.loc[count_data['城市'] == '湛江']
# 将“天气”列名改为“天数”
df3 = df1.rename(columns={'天气': '天数'})
df4 = df2.rename(columns={'天气': '天数'})
# 输出结果
df3
df4

c6be128700004c6b83aeba7b0a6f575c.png

10.计算城市的每个月平均温度

# 筛选出平均温度等于最高温度和最低温度平均值的数据
data1 = data[(data['平均温度'] == (data['最高温度'] + data['最低温度']) / 2)]
# 筛选出城市为A或B的数据
data_AB = data1[(data1['城市'] == '广州') | (data1['城市'] == '湛江')]
# 将日期转换为月份并赋值给新的列
data_AB['月份'] = pd.to_datetime(data_AB['日期']).dt.month
# 按照城市和月份分组,计算每组的平均气温
grouped_AB = data_AB.groupby(['城市', '月份'])['平均温度'].mean().reset_index()
# 按照城市和月份排序
grouped_AB = grouped_AB.sort_values(['城市', '月份'])
# 打印结果
grouped_AB

8287c48a6627493391aa1ddfc5a5be21.png


相关文章
|
4天前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
14天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
46 20
|
20天前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
|
21天前
|
存储 JSON 对象存储
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
|
1月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
2月前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
68 7
|
2月前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
541 7
|
3月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
139 5
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
3月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。