pandas速成笔记(1)-环境搭建及excel读取
工作中经常会遇到一些excel的数据分析工作,虽然本身excel本身有非常强大的功能,但如果需要将一些数据分析结果集成在自己的项目中,excel就显示有些不方便了(总不能每次在excel里做好图表,再截图贴进来吧),幸好python的生态圈足够强大,有pandas这种利器,能以编程的方式,方便快捷的分析excel/csv电子表格。
一、环境搭建
1.1 anaconda
最简单的办法就是安装Anaconda ,它已经集成了很多数据分析的工具包(包括pandas),download后一路next安装即可。
安装完后,mac终端上输入conda --help,可以查看帮助信息。(windows环境也是类似的)
1.2 查看python虚拟环境
python与其它语言不同的地方,它可以在机器上创建不同的所谓『环境』,不同的环境之间相互隔离(即:本环境下安装的软件及版本,跟另1个环境没任何关系),比如:环境A用于运行python 2.x,环境B用于运行python 3.x。
安装好anaconda后,默认会创建1个名为base的环境,也可以用以下命令查看当前所有环境:
conda info --env

如上图,我本机有2个环境:base, pytorch
环境之间也可以切换,比如我想切换到pytorch环境,可以用
conda activate pytorch
如果在mac上,切换完成后,提示符会有所变化:

另外还有一些关于环境的常用命令:
conda info --env 列出所有环境
conda remove -n myenv -all 删除指定环境myenv
conda create -n myenv1 python=3.6 创建环境myenv1,且指定该环境使用python 3.6版本
另外,如果是mac,还有一个很有用的命令where python,查看python程序所在目录(后面配置pycharm运行环境时会用到)

1.3 安装pycharm
虽然conda安装后,自带了jupyter notebook,也能做一些简单的交互式编程。比如,在命令行输入:
jupyter notebook
会在本机启用1个webserver,同时终端窗口也会有一些日志:

在浏览器里打开http://127.0.0.1:8888/ 后就能写代码了:

但真正实际工作中,开发人员更多会使用pycharm,编程体验会更好,而且社区版也不要钱,何乐不为呢?但很多新手可能会发现,pycharm安装好以后不识别conda环境

pycharm中创建python项目时,如果象上图一样,interpreter里是空的,点击最右侧的...按钮,

在Add Python Interpreter界面,继续点最右侧的...按钮,这时候会让你选择python所在的目录,还记得前面讲到的where python命令吗?用它找到anaconda安装后,python所在的目录(这个很重要!不要选择mac系统自带的python目录/usr/bin/python,那个没有pandas等工具库)

如果你经常要使用pandas处理数据,建议把Make available to all projects勾上

二、excel读写测试
pycharm里随便创建1个python项目,验证下pandas开发环境是否正常。
然后创建一个python文件,比如:001.py,输入以下代码(先不用管什么意思)
import pandas as pd
df = pd.DataFrame({"id": [1, 2, 3, 4, 5, 6], "name": ["A", "B", "C", "D", "E", 'F']}).set_index('id')
df.to_excel("data/001.xlsx")
df2 = pd.read_excel("data/001.xlsx").set_index("id")
print(df2)

如果能类似输出类似上图的结果 ,就说明环境ok。再来回过头看看这几行代码的意思:
行1:导入pandas类库,同时取个别名叫pd
行3-4:创建几行数据,然后写入到excel文件
行6-7:把刚才写入的excel,重新读出来,并打印
pandas速成笔记(1)-环境搭建及excel读取的更多相关文章
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- SpringData JPA的学习笔记之环境搭建
一.环境搭建 1.加入jar包 spring jar+jpa jar +springData jar >>SpringData jar包 2.配置applicationCont ...
- 我的Java学习笔记 -开发环境搭建
开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...
- Django学习笔记 开发环境搭建
为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- Mybatis学习笔记之---环境搭建与入门
Mybatis环境搭建与入门 (一)环境搭建 (1)第一步:创建maven工程并导入jar包 <dependencies> <dependency> <groupId&g ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
- Web安全测试学习笔记 - vulhub环境搭建
Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...
- 【Django学习笔记】-环境搭建
对于初学django新手,根据以下步骤可以快速进行Django环境搭建 虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque. ...
- 从零开始系列--R语言基础学习笔记之一 环境搭建
R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...
随机推荐
- 【ROS】6.1 中间人攻击移动过程
原视频 中间人攻击 实验目的 ARP欺骗可以作为中间人攻击的一个起手式.前一个实验我们完成了ARP欺骗,在本章实验中,我们将会在上一个实验的基础上,针对键盘控制过程的报文进行修改,使键盘控制异常. 本 ...
- [随记]-我安装 arch linux 的记录
一.下载安装包 archlinux-x86_64.iso 下载传送门:Arch Linux BitTorrent Download 是磁链和种子下载,往下拉,找到 HTTP Direct Downlo ...
- CF1930G Prefix Max Set Counting 题解
题意: 给定一棵以 1 为根的有根树,求出其所有 dfs 序中前缀最大值序列的数量.\(n\le 10^6\). 思路 显然考虑 DP. 由于是求前缀最大值序列的方案数,因此如果一些点要出现在这个序列 ...
- Spring注解之@Autowired自动装配bean 综述
@Autowired的工作原理是什么?在启动spring IoC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowire ...
- maixpy 常用API整理
2.openmvAPI整理 2.1 cmath - 复数的数学函数 cos cmath.cos(z) 返回z的余弦. exp cmath.exp(z) 返回z的指数. log cmath.log(z) ...
- AtCoder Beginner Contest 408 E-F 题解
E. Minimum OR Path 题意 给你一个 \(N\) 个点 \(M\) 条边的无自环的无向图,第 \(i\) 条边连接 \(u_i\) 和 \(v_i\),权值为 \(w_i\). 在所有 ...
- 五、小程序网络API·天气查询
本节主要介绍使用小程序网络API的相关应用制作一款天气查询小程序.掌握wx.request接口的用法. 前期准备:自行到和风天气官网(https://dev.qweather.com/) 申请API的 ...
- kubernetes之Ingress工作原理
一.kubernetes集群外部访问的方式 在kubernetes集群中,如果外部的应用需要访问集群内部的服务,可以通过NodePort Service.LoadBalancer Service.In ...
- 前端技术栈加持:用 SpreadJS 实现分权限管理
引言 在现代前端开发中,数据表格的应用极为广泛,而分权限管理在许多业务场景下是必不可少的功能.例如在表格类填报需求中,不同等级的登录用户能填报的区域有所不同.SpreadJS 作为一款强大的前端表格控 ...
- UFT VBScripts sharing