令笔者对pandas印象最为深刻的一件事,就是在pandas中已经内置了很多数据导入导出方法,然而本人并不了解,在一次小项目的工作中曾手写了一个从excel表格导入数据到DataFrame的python脚本。这个糗事让笔者深感代码能力急需加强!

为了让那次教训刻骨铭心,也为了避免广大读者再走类似的弯路,本文主要介绍关于pandas的数据导入导出功能,理解起来非常简单。
pandas支持的导入导出数据格式多种多样,有csv,excel,sql,json,html,pickle等。
虽然支持众多数据格式,但各类数据格式导入导出的操作方法千篇一律,了解其中一个便能掌握全部,因而本文以数据分析中常见的csv格式为例,介绍pandas的数据导入导出功能。

1 从csv文件导入数据到pandas

例中,要读取的csv文件与代码程序在同一目录下:

exam.csv文件内容如下:

程序将csv文件读入到data变量中:

从中可以看到:pandas默认会将csv文件的第一行作为列名导入进来。

如果导入的数据文件中没有保存列名,则在导入时可以手动添加列名,示例如下:

先复制一份上述csv文件,去掉原有列名部分,其余不变:

在读入数据时,指定列名:

2 导出数据到csv文件

为方便起见,我们将刚才读入的数据再次导出到同目录下的daochu.csv文件:

查看daochu.csv文件中的内容:

可以看到:导出时选择了三列数据,并且输出列名(header=True)与行索引(index=True),索引默认是“0,1,2,3”的形式。
导出csv文件函数的参数比较多,可以对导出后的文件内容进行多种设定,具体每一个参数的作用效果还要靠诸位亲自探索。

浅谈python的第三方库——pandas(三)的更多相关文章

  1. 浅谈python的第三方库——pandas(一)

    pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas. 1 pandas数据结构 1.1 Series 注:由于pand ...

  2. 浅谈python的第三方库——pandas(终)

    作为pandas系列的最终章,本文引出一个数据"复制"问题. 示例如下: 从上图中可以看到:我们对data_pd做了删除一行的操作,但是这并没有改变变量data_pd在内存中的值, ...

  3. 浅谈python的第三方库——pandas(二)

    pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据.既然如此,是否可以并列多个S ...

  4. 浅谈python的第三方库——numpy(一)

    python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...

  5. 浅谈python的第三方库——numpy(终)

    本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...

  6. 浅谈python的第三方库——numpy(三)

    numpy库中矩阵的常用方法 1 矩阵转置 从上图可以看出:使用方法a.T可以将矩阵a转置. 2 均值与方差 注意:方法a.mean()会对矩阵a的所有元素求均值,a.var()也是考虑矩阵a的所有元 ...

  7. 浅谈python的第三方库——numpy(二)

    前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉 ...

  8. python安装第三方库的三种方法

    使用pip 大多数库都可以通过pip安装,安装方法为,在命令行窗口输入 pip install libname libname为库名 某些库通过pip安装不了,可能是因为没有打包上传到pypi中,可以 ...

  9. python重要第三方库pandas加载数据(详解)

    Pandas数据加载 关注公众号"轻松学编程"了解更多. pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,其中read_csv和read_table这两个 ...

随机推荐

  1. Spring AOP源码分析--代理方式的选择

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! 年前写了一个面试突击系列的文章,目前只有redis相关的.在这个系列里,我整理了一些面试题与大家 ...

  2. C语言系列之实验楼笔记(一)

    创建C程序的几个过程: 1.编辑:创建和修改C程序的源代码 2.编译:编译器可以将源代码转成机器语言.linux 这些文件扩展名.o 3.链接:通过一次完成编译和链接 4.执行;运行程序 打开xfce ...

  3. python 不可变字典 inmutabledict的实现

    python inmutabledict的实现 关于在python中如何实现不可变字典的方法.早在pep416中,就建议python官方实现inmutabledict,但是官方否认了.理由主要是 根据 ...

  4. JavaScript 替换所有匹配内容

    由于JavaScript 的 replace 只能替换一次,因此另外编写一个能现替换全部匹配内容方法,代码如下: /*把 content 中所有的 searchValue 替换为 replaceVal ...

  5. 红帽(RedHat8) RHEL8.0系统安装教程(小白都会)

    可以去了解一下Red Hat8产品详情:https://www.RedHat.com/zh/enterprise-linux-8 先准备VMware Workstation 15 Pro版本,Red ...

  6. HDU3836 Equivalent Sets (Tarjan缩点+贪心)

    题意: 给你一张有向图,问你最少加多少条边这张图强连通 思路: 缩点之后,如果不为1个点,答案为出度为0与入度为0的点的数量的最大值 代码: #include<iostream> #inc ...

  7. uniapp单页面配置无导航栏

    { "path": "pages/login/login", "style": { "navigationStyle": ...

  8. 11--Java--JDBC知识梳理

    JDBC 一.概述:JDBC(java database connection),使用java语言连接数据库,是java提供一套操作数据库的接口(标准),实现对数据库的统一访问,是一个java引用应用 ...

  9. Pyinstaller 打包程序为可执行文件exe

    Pyiinstaller打包 pyinstaller是python的一个第三方模块,使用它可以将pythnon程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行.pyins ...

  10. asp.net mvc项目实战遇见问题及解决方式----ajax请求500错误,请求多表数据

    ajax请求出现500错误——但是想实现的功能是,把一个页面分成了两份,点击右边导航栏,利用ajax请求,请求数据,在右边出现相应页面,当时使用的是partialAction然后出现了这个500错误, ...