写点什么

数据分析从零开始实战,Pandas 读写 CSV 数据

作者:老表
  • 2021 年 11 月 25 日
  • 本文字数:2300 字

    阅读完需:约 8 分钟

数据分析从零开始实战,Pandas读写CSV数据

这是我参与 11 月更文挑战的第 16 天。

一、写在前面

本系列学习笔记参考书籍: 《数据分析实战》托马兹·卓巴斯,会将自己学习本书的笔记分享给大家,同样开成一个系列『数据分析从零开始实战』。

二、知识点概要

1.创建一个虚拟 python 运行环境,专门用于本系列学习;

2.数据分析常用模块 pandas 安装

3.利用 pandas 模块读写 CSV 格式文件

三、开始动手动脑

1.创建虚拟环境

我平时比较喜欢 Pycharm,所以本系列打算完全用 Pycharm 做,Pycharm 安装可以直接到官网上下载,使用社区版即可。

【注】我之前很喜欢 Pycharm,现在比较喜欢 VS Code,你还可以使用 jupyter notebook。

# Windows/Mac 安装、使用 Python 环境 +jupyter notebook


(1)好的正式开始,打开 Pycharm,点击 File->New Project,基本配置说明见下图。

特别说明:python 里面项目路径里不要出现中文,同时项目名称也不要出现中文,名称尽量能够概括项目内容。



(2)创建成功后,我们会在对应目录下面发现多了项目文件和虚拟环境文件。

2.数据分析常用模块 Pandas 安装

(1)零基础教程,首先教大家怎么进入虚拟环境:进入到目录 I:\pyCoding\Frame\Data_analysis\Scripts(我的虚拟环境目录),按住 shift+鼠标右键,打开 powershell 或者 cmd(如果是 powershell 就先输入 cmd),再输入 activate,进入虚拟环境,你会发现在路径前面多了一个括号里面是你的虚拟环境名称,表示你进入了虚拟环境。具体看下面:

PS I:\pyCoding\Frame\Data_analysis\Scripts> cmdMicrosoft Windows [版本 10.0.17134.112](c) 2018 Microsoft Corporation。保留所有权利。
I:\pyCoding\Frame\Data_analysis\Scripts>activate(Data_analysis) I:\pyCoding\Frame\Data_analysis\Scripts>
复制代码

不知道大家有没有觉得很麻烦,我是觉得特别麻烦,每次进入虚拟环境都要先到指定文件路径,然后再输入指令,不符合程序员的风格啊!

【注】之前我是用的 virtualenvwrapper 进行虚拟环境管理,现在我更喜欢使用 pipenv 进行虚拟环境管理。

(2)安装 pandas 模块

使用快捷方式进入虚拟环境后,直接pip指令安装

# cmd下直接操作C:\Users\82055>workon
Pass a name to activate one of the following virtualenvs:==============================================================================Data_analysisspiderenv
C:\Users\82055>workon Data_analysis(Data_analysis) C:\Users\82055>pip install pandas
复制代码

安装结果:



安装过程大概 1 分钟左右,完成后会显示

Installing collected packages: pytz, numpy, six, python-dateutil, pandasSuccessfully installed numpy-1.15.4 pandas-0.23.4 python-dateutil-2.7.5 pytz-2018.7 six-1.11.0
复制代码

很明显看出,这个过程不仅安装了 pandas 包,还安装了 numpy,pytz,six,python-dateutil 这些附加包,后面我们也会用上。

3.利用 pandas 模块读写 CSV 格式文件

(1)数据文件下载

点击这里下载,本系列按书上来的数据都是这里面的,《数据分析实战》书中源代码也在这个代码仓库中,当然后面我自己也会建一个代码仓库,记录自己的学习过程,大家可以先从这里下载好数据文件。

(2)pandas 基本介绍

pandas为 Python 编程语言提供高性能,是基于 NumPy 的一种易于使用的数据结构和数据分析工具,pandas为我们提供了高性能的高级数据结构(比如:DataFrame)和高效地操作大型数据集所需的工具,同时提供了大量能使我们快速便捷地处理数据的函数和方法。

(3)利用 pandas 读取 CSV 文件

读取代码:

# 导入数据处理模块import pandas as pdimport os
# 获取当前文件父目录路径father_path = os.getcwd()
# 原始数据文件路径rpath_csv = father_path+r'\data01\city_station.csv'# 读取数据csv_read = pd.read_csv(rpath_csv)# 显示数据前10条print(csv_read.head(10))
复制代码

运行结果:



函数解析:

read_csv(filepath_or_buffer,sep,header,names,skiprows,na_values,encoding,nrows) 按指定格式读取 csv 文件。

常见参数解析:

  • filepath_or_buffer:字符串,表示文件路径;

  • sep: 字符串,指定分割符,默认是’,’;

  • header:数值, 指定第几行作为列名(忽略注解行),如果没有指定列名,默认 header=0; 如果指定了列名 header=None;

  • names: 列表,指定列名,如果文件中不包含 header 的行,应该显性表示 header=None。

  • skiprows:列表,需要忽略的行数(从 0 开始),设置的行数将不会进行读取。

  • na_values:列表,设置需要将值替换成 NAN 的值,pandas 默认 NAN 为缺省,可以用来处理一些缺省、错误的数值。

  • encoding:字符串,用于 unicode 的文本编码格式。例如,"utf-8"或"gbk"等文本的编码格式。

  • nrows:需要读取的行数。

(4)利用 pandas 写入 CSV 文件

写入 CSV 文件:

import pandas as pdimport os
# 获取当前文件父目录路径father_path = os.getcwd()
# 保存数据文件路径path_csv = father_path+r'\data01\temp_city.csv'# 写入数据(列名+列值)data = {"站点名": ["北京北", "北京东", "北京", "北京南", "北京西"], "代号": ["VAP", "BOP", "BJP", "VNP", "BXP"]}# 数据初始化为DataFrame对象df = pd.DataFrame(data)# 数据写入df.to_csv(path_csv)
复制代码

运行结果:



函数解析:

to_csv(path_or_buf,sep,na_rep,columns,header,index)

  • path_or_buf:字符串,文件名、文件具体、相对路径、文件流等;

  • sep:字符串,文件分割符号;

  • na_rep:字符串,将 NaN 转换为特定值;

  • columns:列表,选择部分列写入;

  • header:None,写入时忽略列名;

  • index:False 则选择不写入索引,默认为 True。

四、结语

坚持 and 努力 : 终有所获。

思想很复杂,

实现很有趣,

只要不放弃,

终有成名日。

—《老表打油诗》


下期见,我是爱猫爱技术的老表,如果觉得本文对你学习有所帮助,欢迎点赞、评论、关注我!

发布于: 2 小时前阅读数: 6
用户头像

老表

关注

公众号|简说Python 2018.09.23 加入

【公众号:简说Python】爱猫爱技术,Python终身学习者、数据分析爱好者、Go语言内卷机。

评论

发布
暂无评论
数据分析从零开始实战,Pandas读写CSV数据