当前位置: 首页 > news >正文

闲鱼上做网站软文发稿

闲鱼上做网站,软文发稿,网站服务器宽带,注册公司费用流程图Python NumPy 数据分析:处理复杂数据的高效方法 文章目录 Python NumPy 数据分析:处理复杂数据的高效方法一 数据来源二 获取指定日期数据三 获取指定行列数据四 求和计算五 比例计算六 平均值和标准差七 完整代码示例八 源码地址 本文详细介绍了如何使用…

Python NumPy 数据分析:处理复杂数据的高效方法

文章目录

  • Python NumPy 数据分析:处理复杂数据的高效方法
      • 一 数据来源
      • 二 获取指定日期数据
      • 三 获取指定行列数据
      • 四 求和计算
      • 五 比例计算
      • 六 平均值和标准差
      • 七 完整代码示例
      • 八 源码地址

本文详细介绍了如何使用 Python 和 NumPy 对复杂数据进行高效的数据分析。通过从 Kaggle 获取的公开数据集,演示了如何读取 CSV 文件、提取特定日期和字段的数据,并进行数据的统计与分析。本文展示了使用 NumPy 进行数据操作的便捷方式,如通过索引获取指定行列数据,计算累计数值和新增长的总数,还讲解了如何计算比率、平均值、标准差等关键统计数据。文章还包括完整的代码示例,帮助读者轻松上手进行复杂数据的分析任务。

导入 NumPy

import numpy as np

一 数据来源

数据来源:Kaggle 上的公开数据集 ,读取数据如下:

def get_result():with open("csv/your_data.csv", "r", encoding="utf-8") as f:data = f.readlines()your_data = {"date": [],"data": [],"header": [h for h in data[0].strip().split(",")[1:]]}for row in data[1:]:split_row = row.strip().split(",")your_data["date"].append(split_row[0])your_data["data"].append([float(n) for n in split_row[1:]])return your_data

数据太多可以先看少部分数据,如下:

    # 获取少数行数据print(your_data["data"][:2])print(your_data["date"][:5])

二 获取指定日期数据

date_idx = your_data["date"].index("2020-02-03")
print("日期->索引转换:", date_idx)data = np.array(your_data["data"])for header, number in zip(your_data["header"], data[date_idx]):print(header, ":", number)

三 获取指定行列数据

# 获取指定行列数据
row_idx = your_data["date"].index("2020-01-24")  # 获取日期索引
column_idx = your_data["header"].index("Confirmed")  # 获取标题的索引
confirmed0124 = data[row_idx, column_idx]
print("截止 2020-01-24 的累积数:", confirmed0124)row_idx = your_data["date"].index("2020-07-23")  # 获取日期索引
column_idx = your_data["header"].index("New deaths")  # 获取标题的索引
result = data[row_idx, column_idx]
print("截止 2020-07-23 的数:", result)

四 求和计算

# 总增长数
row1_idx = your_data["date"].index("2020-01-25")
row2_idx = your_data["date"].index("2020-07-22")
new_cases_idx = your_data["header"].index("New cases")# 注意要 row1_idx + 1 得到从 01-25 这一天的新增
# row2_idx + 1 来包含 7 月 22 的结果
new_cases = data[row1_idx + 1: row2_idx + 1, new_cases_idx]
# print(new_cases)
overall = new_cases.sum()
print("总共:", overall)

五 比例计算

# 比例计算
new_cases_idx = your_data["header"].index("New cases")
new_recovered_idx = your_data["header"].index("New recovered")not_zero_mask = data[:, new_recovered_idx] != 0
ratio = data[not_zero_mask, new_cases_idx] / data[not_zero_mask, new_recovered_idx]

代码中出现 nannannumpy 中表示的是 Not a Number,说明计算有问题,代码 not_zero_mask = data[:, new_recovered_idx] != 0 避免除数为 0 的情况。

六 平均值和标准差

# 平均值, 标准差
ratio_mean = ratio.mean()
ratio_std = ratio.std()
print("平均比例:", ratio_mean, ";标准差:", ratio_std)

平均比例 和 标准差计算。

七 完整代码示例

# This is a sample Python script.# Press ⌃R to execute it or replace it with your code.
# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings.
import numpy as np# 读取数据
def get_result():with open("csv/your_data.csv", "r", encoding="utf-8") as f:data = f.readlines()your_data = {"date": [],"data": [],"header": [h for h in data[0].strip().split(",")[1:]]}for row in data[1:]:split_row = row.strip().split(",")your_data["date"].append(split_row[0])your_data["data"].append([float(n) for n in split_row[1:]])return your_datadef print_hi(name):# Use a breakpoint in the code line below to debug your script.print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.your_data = get_result()# 获取少数行数据print(your_data["data"][:2])print(your_data["date"][:5])# 获取指定日期数据date_idx = your_data["date"].index("2020-02-03")print("2020-02-03 日期->索引转换:", date_idx)data = np.array(your_data["data"])for header, number in zip(your_data["header"], data[date_idx]):print(header, ":", number)# 获取指定行列数据row_idx = your_data["date"].index("2020-01-24")  # 获取日期索引column_idx = your_data["header"].index("Confirmed")  # 获取标题的索引confirmed0124 = data[row_idx, column_idx]print("截止 2020-01-24 的累积数:", confirmed0124)row_idx = your_data["date"].index("2020-07-23")  # 获取日期索引column_idx = your_data["header"].index("New deaths")  # 获取标题的索引result = data[row_idx, column_idx]print("截止 2020-07-23 的数:", result)# 求和计算row1_idx = your_data["date"].index("2020-01-25")row2_idx = your_data["date"].index("2020-07-22")new_cases_idx = your_data["header"].index("New cases")# 注意要 row1_idx + 1 得到从 01-25 这一天的新增# row2_idx + 1 来包含 7 月 22 的结果new_cases = data[row1_idx + 1: row2_idx + 1, new_cases_idx]# print(new_cases)overall = new_cases.sum()print("总共:", overall)# 比例计算new_cases_idx = your_data["header"].index("New cases")new_recovered_idx = your_data["header"].index("New recovered")not_zero_mask = data[:, new_recovered_idx] != 0ratio = data[not_zero_mask, new_cases_idx] / data[not_zero_mask, new_recovered_idx]# 平均值, 标准差ratio_mean = ratio.mean()ratio_std = ratio.std()print("平均比例:", ratio_mean, ";标准差:", ratio_std)if __name__ == '__main__':print_hi('数据分析')# See PyCharm help at https://www.jetbrains.com/help/pycharm/

复制粘贴并覆盖到你的 main.py 中运行,运行结果如下。

Hi, 数据分析
[[555.0, 17.0, 28.0, 510.0, 0.0, 0.0, 0.0, 3.06, 5.05, 60.71, 6.0], [654.0, 18.0, 30.0, 606.0, 99.0, 1.0, 2.0, 2.75, 4.59, 60.0, 8.0]]
['2020-01-22', '2020-01-23', '2020-01-24', '2020-01-25', '2020-01-26']
2020-02-03 日期->索引转换: 12
Confirmed : 19887.0
Deaths : 426.0
Recovered : 604.0
Active : 18857.0
New cases : 3100.0
New deaths : 64.0
New recovered : 145.0
Deaths / 100 Cases : 2.14
Recovered / 100 Cases : 3.04
Deaths / 100 Recovered : 70.53
No. of countries : 25.0
截止 2020-01-24 的累积数: 941.0
截止 2020-07-23 的数: 9966.0
总共: 15247309.0
平均比例: 7.049556348053241 ;标准差: 19.094025710450307

八 源码地址

代码地址:

国内看 Gitee 之 numpy/数据分析.py

国外看 GitHub 之 numpy/数据分析.py

引用 莫烦 Python

http://www.tj-hxxt.cn/news/33631.html

相关文章:

  • 易购商城网站怎么做啊seo实战密码第四版
  • ip达1万的网站怎么做品牌推广宣传词
  • 给素材网站做素材方法公众号怎么开通
  • 代做底单的网站台州关键词优化服务
  • 男的做直播网站好百度云网页版入口
  • 网络工程师培训学校太原百度推广排名优化
  • 如何做一名合格的网站巡查crm系统
  • 政府行业网站建设方案重庆店铺整站优化
  • 武汉刚刚突然宣布2022快速优化seo软件推广方法
  • 网站建设中 请稍后访问客户推广渠道有哪些
  • 如何设计网站logo河南郑州最新消息今天
  • 网站架构分析做广告的怎么找客户
  • 建建建设网站首页常用的网络推广方式有哪些
  • 通用网址查询网站全网营销推广怎么做
  • 做包装一般看什么网站百度指数的数据来源
  • 如何扫描网站漏洞无锡谷歌优化
  • 国外做饰品批发网站2021年十大热点事件
  • 免费发布信息网站网址大全互联网广告推广公司
  • 网站的客服怎么做百度关键词推广费用
  • 软件工程师招聘简章pdf什么是seo营销
  • 手机端官网设计seo诊断报告怎么写
  • 湛江专业舞台制作seo搜索优化工具
  • 嘉兴有哪些做网站的公司在哪里做推广效果好
  • 网站怎么做导航百度一下你就知道官网下载安装
  • 通过域名打开网站是做映射么如何制作一个网址
  • 成都建设网站专业产品推广平台排行榜
  • 上海网站建设与设计公司好重庆店铺整站优化
  • 做设计在哪个网站上找高清图江西网络推广seo
  • 网站上facebook怎么做链接竞价排名什么意思
  • 怎么修复网站死链中文域名交易网站