datawhale学习者手册
datawhale数据分析GitHub开源学习内容
一、主要内容
1.导入package
import pandas as pd # 数据处理,数据分析
import json # 读取json格式数据
import seaborn as sns # 画图
import matplotlib.pyplot as plt # 画图
import re # 用于正则化表达式,匹配字符串的模式
import requests # 用于网络连接,发送网络请求,使用域名获取对应信息
from bs4 import BeautifulSoup # 用于爬取arxiv的数据
2.读取数据
data = [] # 初始化
with open("xxx.json", 'r') as f:
for line in f:
data.append(json.loads(line))
data = pd.DataFrame(data) # list格式变df格式
data.shape # 显示数据大小
知识拓展1 -- with语句
使用with语句优势:1.自动关闭文件句柄;2.自动显示(处理)文件读取数据异常。简化资源的获取和释放:打开文件时,用with可确保打开的文件在离开with语句后关闭。enter打开资源;exit释放资源
- with语句通过在所谓的上下文管理器中封装try...finally语句的标准用法来简化异常处理。
- with语句一般用来管理系统资源的安全获取和释放。资源首先由with语句获取,并在执行离开with上下文时自动释放。
- 有效地使用with有助于避免资源泄漏的问题,让代码更加易于阅读。
知识拓展2 -- json读取
编码和解码 JSON 对象,JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象
3.查看统计数据
data["categories"].describe() # 统计某列特征的信息
'''
count 1796911
unique 62055
top astro-ph
freq 86914
Name: categories, dtype: object
'''
'''
count:一列数据的元素个数;
unique:一列数据中元素的种类;
top:一列数据中出现频率最高的元素;
freq:一列数据中出现频率最高的元素的次数;
'''
unique_categories = set([i for l in [x.split(' ') for x in data["categories"]] for i in l])
# 提取所有的种类
# 每个样本可能有多个种类;多个样本可能有相同的种类
len(unique_categories) # 173个不同的样本
知识拓展3-x.split(' ')
二、群内问题集锦
三、自己的bug历程
-
环境配置:
# 1.创建虚拟环境,python版本3.7
conda create --name datawhale python=3.6
# 2.配置环境,部署jupyter kernel
seaborn==0.9.0
BeautifulSoup4==4.8.0
requests==2.22.0
pandas==0.25.1
matplotlib==3.1.1
conda install ipykernel
python -m ipykernel install --user --name CWRU --display-name "Wind"
- requirment.txt文件中,包名后是双等于号
- json 自带,无需安装
- BeautifulSoup包安装,后面带一个4;导入的时候为 from bs4 import BeautifulSoup
- 【soup = BeautifulSoup(website_url,'lxml') #爬取数据,这里使用lxml的解析器,加速 】错误,**原因:未安装lxml pip install lxml 然后重启jupyter生效 **
时间:2020.01.10--2020.01.13