约定:

import numpy as np
import pandas as pd
  • 1
  • 2
  • 3

一、CSV数据的导入和保存

csv数据一般格式为逗号分隔,可在excel中打开展示。

示例 data1.csv:

A,B,C,D
1,2,3,a
4,5,6,b
7,8,9,c
  • 1
  • 2
  • 3
  • 4
  • 5

代码示例:

# 当列索引存在时
x = pd.read_csv("data1.csv")
print x
'''
A B C D
0 1 2 3 a
1 4 5 6 b
2 7 8 9 c
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

示例data2.csv:

1,2,3,a
4,5,6,b
7,8,9,c
  • 1
  • 2
  • 3
  • 4

代码示例:

# 当列索引不存在时,默认从0开始索引
x = pd.read_csv('data2.csv', header=None)
print x
'''
0 1 2 3
0 1 2 3 a
1 4 5 6 b
2 7 8 9 c
''' # 设置列索引
x = pd.read_csv('data2.csv',names=['A','B','C','D'])
print x
'''
A B C D
0 1 2 3 a
1 4 5 6 b
2 7 8 9 c
''' # 将一(多)列的元素作为行(多层次)索引
x = pd.read_csv('data2.csv',names=['A','B','C','D'],index_col='D')
print x
'''
A B C
D
a 1 2 3
b 4 5 6
c 7 8 9
'''
x = pd.read_csv('data2.csv',names=['A','B','C','D'],index_col=['D','C'])
print x
'''
A B
D C
a 3 1 2
b 6 4 5
c 9 7 8
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

示例data3.csv:

A,B,C,D
1,2,3,
NULL,5,6,b
7,nan,Nan,c
  • 1
  • 2
  • 3
  • 4
  • 5

代码示例:

# 一般NULL nan 空格 等自动转换为NaN
x = pd.read_csv('data3.csv', na_values=[])
print x
'''
A B C D
0 1.0 2.0 3 NaN
1 NaN 5.0 6 b
2 7.0 NaN Nan c
''' # 将某个元素值设置为NaN
x = pd.read_csv('data3.csv', na_values=['Nan'])
print x
'''
A B C D
0 1.0 2.0 3.0 NaN
1 NaN 5.0 6.0 b
2 7.0 NaN NaN c
''' # 在对应列上设置元素为NaN
setNaN = {'C':['Nan'],'D':['b','c']}
x = pd.read_csv("data3.csv",na_values=setNaN)
print x
'''
A B C D
0 1.0 2.0 3.0 NaN
1 NaN 5.0 6.0 NaN
2 7.0 NaN NaN NaN
''' # 保存数据到csv文件
x.to_csv('data3out.csv')
'''
data3out:
,A,B,C,D
0,1.0,2.0,3.0,
1,,5.0,6.0,
2,7.0,,,
'''
# 保存数据到csv文件,设置NaN的表示,去掉行索引,去掉列索引(header)
x.to_csv('data3out.csv',index=False,na_rep='NaN',header=False)
'''
data3out:
1.0,2.0,3.0,NaN
NaN,5.0,6.0,NaN
7.0,NaN,NaN,NaN
'''
x = pd.read_csv("data3out.csv",names=['W','X','Y','Z'])
print x
'''
W X Y Z
0 1.0 2.0 3.0 NaN
1 NaN 5.0 6.0 NaN
2 7.0 NaN NaN NaN
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

二、txt数据的导入

txt文件中的数据通常以多个空格或者逗号等分割开。

示例data4.txt:

    A    B    C
a 1 2 3
b 4 5 6
  • 1
  • 2
  • 3
  • 4

代码示例:

# 读取数据
x = pd.read_table('data4.txt', sep='\s+') # sep:分隔的正则表达式
print x
'''
A B C
a 1 2 3
b 4 5 6
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

示例data5.txt:

1.176813    3.167020
-0.566606 5.749003
0.931635 1.589505
-0.036453 2.690988
  • 1
  • 2
  • 3
  • 4
  • 5

代码示例:

# 使用numpy读取txt
x = np.loadtxt('data5.txt', delimiter='\t') # 分隔符
print x
'''
[[ 1.176813 3.16702 ]
[-0.566606 5.749003]
[ 0.931635 1.589505]
[-0.036453 2.690988]]
'''

python数据分析之csv/txt数据的导入和保存的更多相关文章

  1. Python数据分析之双色球高频数据统计

    Step1:基础数据准备(通过爬虫获取到),以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 : 备注:想要现成数据的可以给我发邮件哟~ ...

  2. CSV格式数据如何导入SqlServer?

    一.使用微软数据库IDE管理软件:Microsoft SQL Server Management Studio 1.标准的CSV文件格式如下: 2.建数据表 3.在需要导入的数据库右键点击“任务”,选 ...

  3. CSV格式数据如何导入MySQL?

    经常有客户咨询如何将CSV文件导入到MySQL数据库中,特写此文介绍一种方便.快捷的方法. 我们要使用的辅助工具是著名的MySQL管理软件:Navicat for MySQL 1)我准备了一个字符编码 ...

  4. Python数据分析:大众点评数据进行选址

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:砂糖侠 如果你处于想学Python或者正在学习Python,Pyth ...

  5. Python 数据分析 - 索引和选择数据

    loc,iloc,ix三者间的区别和联系 loc .loc is primarily label based, but may also be used with a boolean array. 就 ...

  6. Python读取Excel中的数据并导入到MySQL

    """ 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...

  7. python数据分析第二版:数据加载,存储和格式

    一:读取数据的函数 1.读取csv文件 import numpy as np import pandas as pd data = pd.read_csv("C:\\Users\\Admin ...

  8. Python数据分析之全球人口数据

    这篇文章用pandas对全球的人口数据做个简单分析.我收集全球各国1960-2019年人口数据,包含男女和不同年龄段,共6个文件. pop_total.csv: 各国每年总人口 pop_female. ...

  9. Python 数据分析—第七章 数据归整:清理、转换、合并、重塑

    一.数据库风格的Dataframe合并 import pandas as pd import numpy as np df1 = pd.DataFrame({'1key':['b','b','a',' ...

随机推荐

  1. git之合并分支(git merge)------(三)

    最近几天写小demo,总是自己拉取他人的代码,然后创建分支,在自己的分支上进行修改,然后提交到自己的分支,具体的这一步,我就不多讲了,因为在我的博客“工作中常用的Git操作”中有详细的介绍,今天主要讲 ...

  2. linux学习记录.3.virtualbox 共享文件夹

    需要先安装增强功能. 设置目录后, mkdir /mnt/WinDownload      //建立映射目录 sudo mount -t vboxsf Download /mnt/Windwnload ...

  3. 字符串hash&&对字符串hash的理解

     对字符串hash的一些总结: 1,首先,我们在转化的时候,取底的时候一般是取131这些数,因为要避免不同的字符串对应相同的hash值这种情况的出现.如果卡精度的时候,我们可以采取双模数的方式尽量减少 ...

  4. no libsigar-amd64-linux.so in java.library.path 解决方法

    关于sigar的介绍可以参考这边博文 :https://www.cnblogs.com/luoruiyuan/p/5603771.html 在Linux上运行java程序时出现 no libsigar ...

  5. python 根据输入的内容输出类型

    类型判断 from functools import singledispatch import numbers from collections import abc from collection ...

  6. C#中HttpWebRequest的GetRequestStream执行的效率太低,甚至偶尔死掉

    为了提高httpwebrequest的执行效率,查到了一些如下设置 request.ServicePoint.Expect100Continue = false; request.ServicePoi ...

  7. ProtocolBuffer 使用及 一些坑

    Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储.通信协议等方面. ProtocolBuffer的优势 跨平台: Prot ...

  8. 17 Go Slices: usage and internals GO语言切片: 使用和内部

    Go Slices: usage and internals  GO语言切片: 使用和内部 5 January 2011 Introduction Go's slice type provides a ...

  9. tftp的安装

    下载并且安装软件xinetd tftp tftpd sudo apt-get install xinetd tftp tftpd 在/etc/xinetd.d/下建立一个配置文件tftp sudo v ...

  10. javascript本地缓存方案-- 存储对象和设置过期时间

    cz-storage 解决问题 1. 前端js使用localStorage的时候只能存字符串,不能存储对象 cz-storage 可以存储 object undefined number string ...