学习python数据分析的30个练手数据+4个数据集网站

前几天发了一个博文:懂点excel作图, 怎么让pyechart作的图更具“职场范“呢?丨pyechart工作作图模板, 一不小心上了热榜, 感谢小伙伴们的支持, 以后会多总结发更好的python数据分析及可视化的文章.
在这里插入图片描述
在这里插入图片描述

有朋友询问这十几个模板的数据文件, 想必是想实际操作一下, 很不错哟!
我将数据上传到了论坛, 另外分享下工作中收集数据的一些方法!

12个pyechart模板Excel文件

请点击: 模板数据下载地址
在这里插入图片描述
在这里插入图片描述

2个数据源

以上数据除了模拟数据外, 其他数据都是来自于网上, 主要是199it数据图表

模块 199it
在这里插入图片描述
空气质量数据来自于下面网址, 通过爬虫方式获取
在这里插入图片描述
爬虫代码也上传到论坛, 想了解的可以下载: 请点击

爬取的数据作图之前需要进行清洗, 原因是网址的城市名称可能和百度地图收录的城市名称不一致, 需要保持一致, 比如下面这些:

data['城市'].replace('果洛','果洛藏族自治州',inplace=True)
data['城市'].replace('可克达拉','可克达拉市',inplace=True)

4个数据(集)网址

平时可能用到的数据集网址, 分享几个方便初学者学习python。

- 天池数据集
在这里插入图片描述
- DC竞赛
在这里插入图片描述
- 和鲸社区

在这里插入图片描述
- 500强排名数据

在这里插入图片描述

1个python公共数据工具包: GoPUP

通过python调用工具包,能获取不少公共信息, 亲测有些接口可能获取不到数据了, 大部分还是可以的!
官网

GoPUP 项目所采集的数据皆来自公开的数据源,不涉及任何个人隐私数据和非公开数据。

在这里插入图片描述
安装方式

pip install gopup  --upgrade

调用方式

在这里插入图片描述
基本上都是几行代码, 返回的是一个dataframe格式数据, 用pandas很容易处理, 适合想学python的朋友学习使用.

import gopup as gp
df_index = gp.weibo_index(word="疫情", time_type="3month")
print(df_index)

国内生产总值

代码

import gopup as gp
df_index = gp.get_gdp_quarter()
df_index

在这里插入图片描述

居民消费价格指数

import gopup as gp
df_index = gp.get_cpi()
df_index

在这里插入图片描述

千里马公司数据

import gopup as gp
df_index = gp.maxima_company()
df_index

在这里插入图片描述

历史上的今天

import gopup as gp
df_index = gp.history_daily()
df_index

在这里插入图片描述

百度实时热门

import gopup as gp
df_index = gp.baidu_hot_list()
df_index

在这里插入图片描述

百度今日热点

import gopup as gp
df_index = gp.baidu_today_hot_list()
df_index

在这里插入图片描述

百度百科热词榜

import gopup as gp
df_index = gp.baidu_hot_word_list()
df_index

在这里插入图片描述

微博热搜榜

import gopup as gp
df_index = gp.weibo_hot_search_list()
df_index

在这里插入图片描述

微信热门榜

import gopup as gp
df_index = gp.wx_hot_list()
df_index

在这里插入图片描述

知乎热搜榜

import gopup as gp
df_index = gp.zhihu_hot_search_list()
df_index

在这里插入图片描述

知乎热榜

import gopup as gp
df_index = gp.zhihu_hot_list()
df_index

在这里插入图片描述

豆瓣新片榜

import gopup as gp
df_index = gp.douban_movie_list()
df_index

在这里插入图片描述

豆瓣一周口碑榜

import gopup as gp
df_index = gp.douban_week_praise_list()
df_index

在这里插入图片描述

汽柴油历史价格信息

import gopup as gp
df_index = gp.energy_oil_hist()
df_index

在这里插入图片描述

迁入迁出地详情

import gopup as gp
migration_area_baidu_df = gp.migration_area_baidu(area="湖北省", indicator="move_in", date="20200201")
migration_area_baidu_df

在这里插入图片描述

车站数据

import gopup as gp
df_index = gp.station_name()
df_index

在这里插入图片描述

列车时刻表

import gopup as gp
df_index = gp.train_time_table(train_number="T15")
df_index

在这里插入图片描述

全国普通高校名单

import gopup as gp
df_index = gp.university()
df_index

在这里插入图片描述
如果这些数据你正好需要, 可以方便调用, 感谢开发提供工具包的朋友!

以上就是这次整理的内容, 欢迎关注, 后期会不断更新!

相关阅读推荐:

1. python小白, 1周入门python数据分析视频课程

2. pyechart可视化18式丨从柱形图的变化, 搞懂pyechart作图套路

3. 懂点excel作图, 怎么让pyechart作的图更具“职场范“呢?

4. 8个常用的python办公室自动化技巧,学会了同事都找你!

5. 学习python数据分析的30个练手数据+4个数据集网站

6. [工作必备]pandas数据分析处理52个常用技巧

7. 泰坦尼克号数据你没见过的可视化丨pyechart制作桑基图(sankey)的最简单方法

8. pyechart制作第七次人口普查数据动态图

  • 20
    点赞
  • 238
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
BP算法是一种常用的神经网络训练算法,用于解决分类、回归等问题。下面以应用BP算法解决分类问题为例,对两个数据集进行实验分析,并使用Python实现。 数据集1:鸢尾花数据集 鸢尾花数据集是一个经典的分类问题数据集,包含3类鸢尾花,每类鸢尾花有50个样本,共计150个样本。每个样本包含4个特征,分别为花萼长度、花萼宽度、花瓣长度、花瓣宽度。该数据集经过归一化处理后,可以直接用于BP神经网络的训练。下面是Python代码实现: ``` import numpy as np from sklearn.datasets import load_iris from sklearn.preprocessing import normalize # 加载鸢尾花数据集 iris = load_iris() X = iris.data y = iris.target # 数据预处理 X = normalize(X, axis=0) # 将标签转换为独热编码 n_classes = 3 y_one_hot = np.zeros((len(y), n_classes)) for i, label in enumerate(y): y_one_hot[i, label] = 1 # 构建神经网络 input_size = X.shape[1] hidden_size = 10 output_size = n_classes W1 = np.random.randn(input_size, hidden_size) b1 = np.zeros(hidden_size) W2 = np.random.randn(hidden_size, output_size) b2 = np.zeros(output_size) # 定义激活函数和损失函数 def sigmoid(x): return 1 / (1 + np.exp(-x)) def softmax(x): exp_x = np.exp(x) return exp_x / np.sum(exp_x, axis=1, keepdims=True) def cross_entropy_loss(y_pred, y_true): return -np.mean(y_true * np.log(y_pred)) # 定义训练函数 def train(X, y, W1, b1, W2, b2, lr, epochs): for epoch in range(epochs): # 前向传播 a1 = np.dot(X, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, W2) + b2 y_pred = softmax(a2) # 计算损失 loss = cross_entropy_loss(y_pred, y_one_hot) # 反向传播 delta2 = y_pred - y_one_hot delta1 = np.dot(delta2, W2.T) * z1 * (1 - z1) # 更新参数 W2 -= lr * np.dot(z1.T, delta2) b2 -= lr * np.sum(delta2, axis=0) W1 -= lr * np.dot(X.T, delta1) b1 -= lr * np.sum(delta1, axis=0) # 打印损失 if epoch % 100 == 0: print("Epoch %d Loss %.4f" % (epoch, loss)) return W1, b1, W2, b2 # 训练神经网络 W1, b1, W2, b2 = train(X, y_one_hot, W1, b1, W2, b2, lr=0.1, epochs=1000) # 预测 a1 = np.dot(X, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, W2) + b2 y_pred = np.argmax(a2, axis=1) acc = np.mean(y_pred == y) print("Accuracy %.4f" % acc) ``` 数据集2:手写数字识别数据集 手写数字识别数据集包含10个类别,每个类别有大约180个样本,共计约1800个样本。每个样本是28*28的灰度图像,需要将其展平为784维向量进行训练。下面是Python代码实现: ``` import numpy as np from sklearn.datasets import load_digits from sklearn.preprocessing import normalize from sklearn.model_selection import train_test_split # 加载手写数字识别数据集 digits = load_digits() X = digits.images.reshape(-1, 784) y = digits.target # 数据预处理 X = normalize(X, axis=0) # 将标签转换为独热编码 n_classes = 10 y_one_hot = np.zeros((len(y), n_classes)) for i, label in enumerate(y): y_one_hot[i, label] = 1 # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y_one_hot, test_size=0.2, random_state=42) # 构建神经网络 input_size = X.shape[1] hidden_size = 50 output_size = n_classes W1 = np.random.randn(input_size, hidden_size) b1 = np.zeros(hidden_size) W2 = np.random.randn(hidden_size, output_size) b2 = np.zeros(output_size) # 定义激活函数和损失函数 def sigmoid(x): return 1 / (1 + np.exp(-x)) def softmax(x): exp_x = np.exp(x) return exp_x / np.sum(exp_x, axis=1, keepdims=True) def cross_entropy_loss(y_pred, y_true): return -np.mean(y_true * np.log(y_pred)) # 定义训练函数 def train(X, y, W1, b1, W2, b2, lr, epochs): for epoch in range(epochs): # 前向传播 a1 = np.dot(X, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, W2) + b2 y_pred = softmax(a2) # 计算损失 loss = cross_entropy_loss(y_pred, y) # 反向传播 delta2 = y_pred - y delta1 = np.dot(delta2, W2.T) * z1 * (1 - z1) # 更新参数 W2 -= lr * np.dot(z1.T, delta2) b2 -= lr * np.sum(delta2, axis=0) W1 -= lr * np.dot(X.T, delta1) b1 -= lr * np.sum(delta1, axis=0) # 打印损失 if epoch % 100 == 0: print("Epoch %d Loss %.4f" % (epoch, loss)) return W1, b1, W2, b2 # 训练神经网络 W1, b1, W2, b2 = train(X_train, y_train, W1, b1, W2, b2, lr=0.1, epochs=1000) # 预测 a1 = np.dot(X_test, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, W2) + b2 y_pred = np.argmax(a2, axis=1) acc = np.mean(y_pred == np.argmax(y_test, axis=1)) print("Accuracy %.4f" % acc) ``` 以上就是两个数据集应用BP算法的实验分析和Python实现,希望对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python技巧(数据分析及可视化)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值