datawhale学习笔记——数据分析(一)

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. 环境配置:


    image.png
# 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。