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

统计软件与数据分析—Lesson2

jupyter Note环境配置,安装及使用以及python数据的读取操作

  • 统计软件与数据分析—Lesson2
    • 1.Jupyter Note环境配置,安装及使用
      • 1.1 Jupyter Note 基本操作
      • 1.2 Notebook中的Magic开关
        • 1.2.1 Magic开关总览
        • 1.2.2 Line Magic 全局
        • 1.2.3 Cell Magic 当前cell
      • 1.3 Notebook 扩展
        • 1.3.1 Jupyter Lab
        • 1.3.2 Jupyter notebook功能扩展Nbextensions
        • 1.3.3 添加对R语言的支持
        • 1.3.4 添加对stata语言的支持
    • 2. Python简介,解释执行,运行方式
      • 2.1 Python解释与运行
      • 2.2 延伸阅读:Python解释器
      • 2.3 Python的两种运行方式
        • 2.3.1 解释式运行:如PyCharme,或命令行下python pyname.py
        • 2.3.2 交互式运行
      • 2.4 Python内置及三方库的管理及使用
        • 2.4.1 模块Module与包Package
        • 2.4.2 模块的导入
        • 2.4.3 包的安装
        • 2.4.4 包的导入
        • 2.4.5 包的其它操作:
      • 2.5 如何更好得获得帮助
    • 3. python数据的存取
      • 3.1 数据的保存
        • 3.1.1 保存list
        • 3.1.2 保存Dict
        • 3.1.3 保存Set
        • 3.1.4 保存Dataframe
        • 3.1.5 保存Matrix
      • 3.2 数据的读取
        • 3.2.1 读取txt文件中的数据
        • 3.2.2 读取excel文件中的数据
        • 3.2.3 读取csv文件中的数据
        • 3.2.4 读取stata文件中的数据
        • 3.2.5 读取R文件中的数据
        • 3.2.6 读取SPSS文件中的数据
        • 3.2.7 读取Eviews文件中的数据
        • 3.2.8 读取JSON文件中的数据
        • 3.2.9 读取MYSQL文件中的数据
        • 3.2.10 读取SQLite文件中的数据

统计软件与数据分析—Lesson2

主要包含jupyter Note环境配置,安装及使用以及python数据的读取操作等

1.Jupyter Note环境配置,安装及使用

1.1 Jupyter Note 基本操作

1.启动

win+R键—>输入‘cmd’—>点击‘确定’—>jupyter notebook

shift+右键

2.上传、下载

upload

复制粘贴

File–>Download as—> …

后缀ipynb(ipython+notebook)

3.创建、命名

new—>python3

4.cell 基本操作

插入:Insert Esc+A Esc+B

删除:D+D

快捷键:Esc+h

cell类型:code、markdown

1.2 Notebook中的Magic开关

https://blog.csdn.net/s1164548515/article/details/89458668

  • 为实现一些快捷操作,提升效率。Notebook中提供了Magic开关,能极大得优化我们使用Notebook的体验。
  • Magic 开关分为两大类:%line magic & %%cell magic

1.2.1 Magic开关总览

%lsmagic

%quickref

1.2.2 Line Magic 全局

%config InteractiveShell.ast_node_interactivity = ‘all’

%whos

%matplotlib inline

1.2.3 Cell Magic 当前cell

%%system

%%time

%%timeit

dir

1.3 Notebook 扩展

1.3.1 Jupyter Lab

cmd 输入jupyter lab

1.3.2 Jupyter notebook功能扩展Nbextensions

cmd中一次运行以下三行命令:

pip install jupyter_contrib_nbextensions -i https://pypi.tuna.tsinghua.edu.cn/simple
jupyter contrib nbextension install --user
pip install yapf -i https://pypi.tuna.tsinghua.edu.cn/simple

1.3.3 添加对R语言的支持

https://blog.csdn.net/s1164548515/article/details/100747987

1.3.4 添加对stata语言的支持

https://blog.csdn.net/s1164548515/article/details/10834249

2. Python简介,解释执行,运行方式

2.1 Python解释与运行

Python解释器interpreter

运行在系统线程上的C语言函数+超大循环。每个字节码指令均对应一个完全由C实现的逻辑。

Python解释器在执行过程

先对文件中的Python源代码进行编译,编译的主要结果是产生的一组Python的字节码(byte code),pyc文件是字节码在磁盘上的表现形式,是进行import module时对py文件进行编译的文件结果(如果之前编译过,且源文件又没有变化,则直接运行该pyc文件),而编译结果就是Python中的PyCodeObject对象,然后PyCodeObject对象交给Python虚拟机(Virtual Machine),由虚拟机按照顺序一条一条地执行字节码,从而完成对Python程序的执行动作。

python: .py -->(编译器)–>.pyc–>解释器(虚拟机)–>返回结果

在编译好的Python环境中,编译器和解释器都被封装进了pythonxx.dll中,由python.exe调用

2.2 延伸阅读:Python解释器

默认用到的都是用C语言实现的对Python的解释器CPython。也有用Python实现的python解释器PyPy,.Net实现的IronPython

  • CPython解释器中的两个栈:
    1. 执行栈Evaluation Stack:存储指令操作数
    2. 块栈Block Stack:存储循环,异常等信息

字码基于栈式虚拟机,没有寄存器概念,转译简单,没有另类优化。不能被CPU执行,每条字节码对应C实现的机器指令。
Python 实现了栈式虚拟机 (Stack-Based VM) 架构,通过与机器⽆关的字节码来实现跨平台执⾏能⼒。
这种字节码指令集没有寄存器,完全以栈 (抽象层⾯) 进⾏指令运算。

2.3 Python的两种运行方式

2.3.1 解释式运行:如PyCharme,或命令行下python pyname.py

  • 下方新建py文件
%%writefile lesson2_1.py
import sys
print('the file run name ',sys.argv[0],'The time that file should run:',sys.argv[1])
for i in range(int(sys.argv[1])):print(i,'times run')
!python lesson2_1.py 2

2.3.2 交互式运行

  • 命令行Python,bpython,ipython, notebook

2.4 Python内置及三方库的管理及使用

2.4.1 模块Module与包Package

  • 模块:一个模块就是一个Python源码文件(也可能是对c语言文件编译生成的pyd文件)
  • 包:组织一堆相关功能的模块,并包含__init__.py文件的目录。

2.4.2 模块的导入

一个模块本质上是一个py文件

%%writefile lesson2.py
a=123
_b='str'#
def lesson2_fun():return globals()
import lesson2
lesson2.__name__
__name__
#修改源码后不生效?试下reload
import lesson2
from imp import reloadreload(lesson2)
lesson2.a

2.4.3 包的安装

Python包是一组功能相关的模块,通常由多个.py文件组成,它们可以被其他程序导入和使用。Python提供了一个标准的包管理系统pip,可以方便地安装和管理第三方包。

1.单个包安装

  • 使用pip安装包:
    !pip install package_name

但通常建议在cmd窗口安装更稳定:win+R键–>输入cmd–>点击‘确定’—>pip install package_name

pip install tushare #注意jupyter notebook中运行前面需要加!
    
- 下载源代码并安装:
```python
!git clone https://github.com/package_name.git
!cd package_name && python setup.py install
  • 批量安装Package

创建requirements.txt文件,将所需安装的包的名字都分行放在里,再运行:

pip install -r ./requirements.txt

2.4.4 包的导入

1.导入包

  • 直接导入整个包:import package_name

示例:

import numpy
  • 导入包中的指定模块:from package_name import module_name

示例:

from numpy import array
  • 导入包中的所有模块:from package_name import *
from numpy import *
  • 给包起别名:import package_name as alias_name
import numpy as np

总之,Python包是非常重要的,它们扩展了Python的功能,提供了丰富的库和工具来帮助我们编写更好的程序。

2.4.5 包的其它操作:

  • 使用浏览器查看内置包:

cmd命令行下运行,python -m pydoc -p 1234

  • 三方包的管理:
!pip list #列出所有的package

2.5 如何更好得获得帮助

  • 1.官网文档 https://docs.python.org/3/

  • 2.dir与tab的使用

  • 3.help, ?,shift-tab的使用

str1='http://tsxy.zuel.edu.cn/'
# str1.rjust?
# help(exec)str1.find('t')#查找字符串中的指定字符所在的位置

3. python数据的存取

3.1 数据的保存

在Python中,可以使用不同的包来将不同类型的数据保存到不同类型的文件中。下面是一些示例:

3.1.1 保存list

  • 保存List到txt文件
data_list = ['apple', 'banana', 'orange']
with open('data_list.txt', 'w') as f:for item in data_list:f.write("%s\n" % item)
  • 保存List到csv文件
import csvdata_list = [['apple', 1], ['banana', 2], ['orange', 3]]
with open('data_list.csv', mode='w', newline='') as f:writer = csv.writer(f)writer.writerows(data_list)
  • 保存List到Excel文件
import pandas as pddata = ['apple', 'banana', 'orange']
df = pd.DataFrame(data_list, columns=['fruits'])
df.to_excel('data_list.xlsx', index=False)

3.1.2 保存Dict

  • 保存Dict到txt文件
data_dict = {'a': 1, 'b': 2, 'c': 3}with open('data_dict.txt', 'w') as f:for key, value in data_dict.items():f.write(f'{key}:{value}\n')
  • 保存Dict到csv文件
import csvdata_dict = {'apple': 1, 'banana': 2, 'orange': 3}
with open('data_dict.csv', mode='w', newline='') as file:writer = csv.writer(file)for key, value in data_dict.items():writer.writerow([key, value])
  • 保存Dict到Excel文件
import pandas as pddata_dict = {'name': ['apple', 'banana', 'orange'], 'price': [1, 2, 3]}
df = pd.DataFrame(data)
df.to_excel('data_dict.xlsx', index=False)

3.1.3 保存Set

  • 保存Set到txt文件
data_set = {'apple', 'banana', 'orange'}
with open('data_set.txt', 'w') as f:for item in data_set :f.write("%s\n" % item)
  • 保存Set到csv文件
data_set = {1, 2, 3, 4, 5}import csvwith open('data_set.csv', 'w', newline='') as f:writer = csv.writer(f)writer.writerow(['value'])for value in data_set :writer.writerow([value])
  • 保存Set到excel文件
import pandas as pddata_set = {1, 2, 3, 4, 5}df = pd.DataFrame(list(data_set), columns=['value'])
df.to_excel('data_set.xlsx', index=False)

3.1.4 保存Dataframe

  • 保存Dataframe到txt文件
import pandas as pddata = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}data_df = pd.DataFrame(data)
data_df.to_csv('data_df.txt', index=False, sep='\t')
  • 保存Dataframe到csv文件
import pandas as pddata = {'name': ['apple', 'banana', 'orange'], 'price': [1, 2, 3]}
data_df = pd.DataFrame(data)
data_df.to_csv('data_df.csv', index=False)
  • 保存Dataframe到Excel文件
import pandas as pddata = {'name': ['apple', 'banana', 'orange'], 'price': [1, 2, 3]}
data_df = pd.DataFrame(data)
writer = pd.ExcelWriter('data_df.xlsx')
data_df.to_excel(writer, index=False, sheet_name='Sheet1')
writer.save()

3.1.5 保存Matrix

  • 保存Matrix到txt文件
import numpy as npdata_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('data_matrix.txt', data_matrix)
  • 保存Matrix到csv文件
import numpy as npdata_matrix = np.random.rand(3, 3)
np.savetxt('data_matrix.csv', data_matrix, delimiter=',')
  • 保存Matrix到Excel文件
import pandas as pd
import numpy as npdata_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(data_matrix)
df.to_excel('data_matrix.xlsx', index=False)

总之,Python提供了很多包和方法来处理不同类型的数据,并将它们保存到不同类型的文件中,这些示例只是其中一部分,读者可以根据自己的需要选择适合自己的方法。

3.2 数据的读取

3.2.1 读取txt文件中的数据

with open('data_list.txt', 'r') as f:data = f.read()
print(data)

3.2.2 读取excel文件中的数据

import pandas as pd
data = pd.read_excel('data_dict.xlsx')
print(data)

3.2.3 读取csv文件中的数据

import pandas as pddata = pd.read_csv('data_df.csv')
print(data)

3.2.4 读取stata文件中的数据

import pandas as pddata = pd.read_stata('example.dta')
print(data)

3.2.5 读取R文件中的数据

import pandas as pddata = pd.read_r('example.Rdata')
print(data)

3.2.6 读取SPSS文件中的数据

import pandas as pddata = pd.read_spss('example.sav')
print(data)

3.2.7 读取Eviews文件中的数据

import pandas as pddata = pd.read_table('example.prg', delim_whitespace=True)
print(data)

3.2.8 读取JSON文件中的数据

import jsonwith open('example.json', 'r') as f:data = json.load(f)
print(data)

3.2.9 读取MYSQL文件中的数据

import mysql.connectorconn = mysql.connector.connect(user='username', password='password', host='host_address', database='database_name')
c = conn.cursor()
c.execute('SELECT * FROM table_name')
data = c.fetchall()
print(data)

3.2.10 读取SQLite文件中的数据

import sqlite3conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('SELECT * FROM table_name')
data = c.fetchall()
print(data)

相关文章:

统计软件与数据分析—Lesson2

jupyter Note环境配置,安装及使用以及python数据的读取操作统计软件与数据分析—Lesson21.Jupyter Note环境配置,安装及使用1.1 Jupyter Note 基本操作1.2 Notebook中的Magic开关1.2.1 Magic开关总览1.2.2 Line Magic 全局1.2.3 Cell Magic 当前cell1.3 …...

ISO体系认证全方位解析让!

ISO体系认证全方位解析让! 常常有人问小编, 某某体系是什么意思? 某某证书的有效期是多久? 新版标准的转换要求有哪些? 小编尽量一一解答, 但难免会错过部分朋友的问题。 为了更全面地解决大家关于认证的疑…...

真要被00后职场整顿了?老员工纷纷表示真的干不过.......

最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业。想要获得更好的待遇和机会,不断提升自己的技能栈成了测试老人迫在眉睫的问题。 不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试…...

NDK FFmpeg音视频播放器二

NDK前期基础知识终于学完了,现在开始进入项目实战学习,通过FFmpeg实现一个简单的音视频播放器。本文主要内容如下:阻塞式队列SafeQueue。音视频BaseChannel基础通道。音视频压缩包加入队列。视频解码与播放。ANativeWindow渲染用到的ffmpeg、…...

Linux之进程信号

目录 一、生活中的信号 背景知识 生活中有没有信号的场景呢? 是不是只有这些场景真正的放在我面前的时候,我才知道怎么做呢? 进程在没有收到信号的时候,进程知道不知道应该如何识别哪一个是信号?以及如何处理它&a…...

AI绘画关键词网站推荐 :轻松获取百万个提示词!完全免费

一、lexica.art 该网站拥有数百万Stable Diffusion案例的文字描述和图片,可以为大家提供足够的创作灵感。 使用上也很简单,只要在搜索框输入简单的关键词或上传图片,就能为你提供大量风格不同的照片。点击照片就能看到完整的AI关键词&#…...

Java-Collections and Lambda

Java SE API know how 集合API 根据算法访选择合适集合 linkedlist不适合搜索 随机访问数据用hashmap 数据保持有序使用treemap 通过索引访问使用数组集合 同步和非同步 访问性能统计 与简单的非同步访问相比,使用任何数据保护技术都会有较小的损失 设置集合…...

KDGX-A光缆故障断点检测仪

一、产品概述 KDGX-A光纤寻障仪是武汉凯迪正大为光纤网络领域施工、测试、维护所设计的一款测试仪表。可实现对光纤链路状态和故障的快速分析,适用于室外维护作业,是现场光纤网络测试与维护中替代OTDR的经济型解决方案。 二、主要特点 1)一键式光纤链路…...

【刷题之路Ⅱ】牛客 NC107 寻找峰值

【刷题之路Ⅱ】牛客 NC107 寻找峰值一、题目描述二、解题1、方法1——直接遍历1.1、思路分析1.2、代码实现2、方法2——投机取巧的求最大值2.1、思路分析2.2、代码实现3、方法3——二分法3.1、思路分析3.2、代码实现一、题目描述 原题连接: NC107 寻找峰值 题目描…...

智能灯泡一Homekit智能家居系列

传统的灯泡是通过手动打开和关闭开关来工作。有时,它们可以通过声控、触控、红外等方式进行控制,或者带有调光开关,让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块,可与手机、家庭智能助手、或其他智能硬件进行通信&#…...

外包离职,历时学习416天,成功上岸百度,分享成长过程~

前言: 没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力幸运,但如果你不够幸运,那就只能拉高努力的占比。 2020年7月,我有幸成为了百度的一名Java后端开发&#xff0c…...

利用客户支持建立忠诚度和竞争优势

客户支持可以极大地改变您的业务;最细微、最微妙的差异都会使拥有一次性客户和拥有终身客户之间产生差异。在这篇博文中,我们将揭示客户对企业的忠诚度的三种核心类型,以及如何利用强大的客户支持工具和原则来提高理想的忠诚度并获得决定性的竞争优势。一…...

看他人代码小总结

针对几个功能类似的函数: 1.需要经常调试则定义一个参数比如is_debug来选择是否在调试,定义一些参数专门用于调试用,不用每次都修改这些参数,只需要修改is_debug这个参数; 2.把其中的变量(常量)单独拎出来放到一个文件…...

cudaMemGetInfo()函数cudaDeviceGetAttribute()函数来检查设备上的可用内存

使用CUDA Runtime API中的cudaMemGetInfo()函数来检查设备上的可用内存。该函数将返回当前可用于分配的总设备内存大小和当前可用于分配的最大单个内存块大小。 示例代码,演示了如何在分配内存之前和之后调用cudaMemGetInfo()函数来检查可用内存 size_t free_byte…...

【基础阶段】01中华人民共和国网络安全法

文章目录1 网络安全行业介绍2 什么是黑客和白帽子3 网络安全课程整体介绍4 网络安全的分类5 常见的网站攻击方式6 安全常见术语介绍7 《网络安全法》制定背景和核心内容8 《全国人大常委会关于维护互联网安全的决定》9《中华人民共和国计算机信息系统安全保护条例》10 《中华人…...

隐私计算领域大咖推荐,这些国内外导师值得关注

开放隐私计算 经过近一个月的信息收集,研习社已经整理了多位国内外研究隐私计算的导师资料。邻近考研复试,研习社希望小伙伴们能够通过本文整理的信息,选择自己心仪的老师,在研究生的路途上一帆风顺!1. 国内隐私计算导…...

009 uni-app之vue、vuex

vue.js 视频教程 vue3.js 中文官网 vue.js 视频教程 vue语法:https://uniapp.dcloud.net.cn/tutorial/vue-vuex.html vue2迁移到 vue3:https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html Vuex Vuex 是一个专为 Vue.js 应用程序开发的…...

Linux防火墙——SNAT、DNAT

目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条件 1、临时打开 2、永久打开 3、SNAT转换1:固定的公网IP地址 4、SNAT转换2:非固定的公网IP地址(共享动态IP地址) 二、SNAT实验 配置web服务…...

递归理解三:深度、广度优先搜索,n叉树遍历,n并列递归理解与转非递归

参考资料: DFS 参考文章BFS 参考文章DFS 参考视频二叉树遍历规律递归原理源码N叉树规律总结: 由前面二叉树的遍历规律和递归的基本原理,我们可以看到,二叉树遍历口诀和二叉树递推公式有着紧密的联系 前序遍历:F(x…...

MATLAB 2023a安装包下载及安装教程

[软件名称]:MATLAB 2023a [软件大小]: 12.2 GB [安装环境]: Win11/Win 10/Win 7 [软件安装包下载]:https://pan.quark.cn/s/8e24d77ab005 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算…...

QT学习开发笔记(数据库之实用时钟)

数据库 数据库是什么?简易言之,就是保存数据的文件。可以存储大量数据,包括插入数据、更 新数据、截取数据等。用专业术语来说,数据库是“按照数据结构来组织、存储和管理数据的 仓库”。是一个长期存储在计算机内的、有组织的、…...

Docker常规安装简介

总体步骤 搜索镜像拉取镜像查看镜像启动镜像,服务端口映射停止容器移除容器 案例 安装tomcat docker hub上面查找tomcat镜像,docker search tomcat从docker hub上拉取tomcat镜像到本地 docker pull tomcatdocker images查看是否有拉取到的tomcat 使用tomcat镜像创…...

Python - PyQT5 - ui文件转为py文件

在QTdesigner图形化编辑工具中,有些控件我们是可以直接在编辑界面进行编辑的,有些是不可以编辑的,只能通过Python代码进行编辑,不过总体来说,所有能够通过图形化编辑界面可以编辑的,都可以通过Python语言实…...

分布式事务和分布式锁

1、关于分布式锁的了解? 原理:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。 具备的条件: ①分布式环境下,一个方法在同一时间只能被一个机器的一个线程执行 ②高可用的获取锁和释放锁 ③高性能…...

JAVA-4-[Spring框架]基于XML方式的Bean管理

1 Spring IOC容器 (1)IOC底层原理 (2)IOC接口(BeanFactory) (3)IOC操作Bean管理(基于XML) (4)IOC操作Bean管理(基于注释) 1.1 IOC概念 (1)控制反转(Inversion of Control),把对象的创建和对象之间的调用过程,交给Spring进行管理。 (2)使用IOC目的&…...

路科验证UVM入门与进阶详解实验0

一.代码编译 首先创建新项目,导入lab0 的UVM文件; 针对uvm_compile文件,先进行编译; module uvm_compile;// NOTE:: it is necessary to import uvm package and macrosimport uvm_pkg::*;include "uvm_macros.svh"in…...

Linux之Shell编程(1)

文章目录前言一、Shell是什么二、Shell脚本的执行方式脚本的常用执行方式三、Shell的变量Shell变量介绍shell变量的定义四、设置环境变量基本语法快速入门五、位置参数变量介绍●基本语法●位置参数变量六、预定义变量基本介绍基本语法七、运算符基本介绍基本语法前言 为什么要…...

Java问题诊断工具——JVisualVM

这篇文章源自一次加班改bug的惨痛经历[,,_,,]:3负责的一个项目占用不断增加,差点搞崩服务器(╥﹏╥)……一下子有点懵,不能立刻确定是哪里导致的问题,所以决定好好研究下这个之前一直被我忽视的问题诊断工具🔧——JVisualVM嘿嘿我…...

Python3实现简单的车牌检测

导语Hi,好久不见~~~两周没写东西了,从简单的开始,慢慢提高文章水准吧,下一个月开始时间就会比较充裕了~~~利用Python实现简单的车牌检测算法~~~让我们愉快地开始吧~~~相关文件网盘下载链接: https://pan.baidu.com/s/1iJmXCheJoWq…...

基于支持向量机SVM多因子测量误差预测,支持向量机MATLAB代码编程实现

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,SVM的测量误差预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特…...