Pandas 读取文本数据

原创 2018年04月16日 16:15:23

Pandas 读取文本数据

标签(空格分隔): python pandas


Pandas 读取文本数据

pandas解析函数
解析函数

如果原始数据是有标题的
原始数据
read_csv调用
read_csv示例
read_table
这里可以指定seq=’\s+’等正则表达式来当分割符
如果列名比数据行数量少1,read_table会推断第一列是DataFrame的索引
read_table示例

指定列名
如果没有标题,那么可以自定义列名(names=[])或者分配默认列名(header=None)

 pd.read_csv(path, header=Node)
 pd.read_table(path, names=['a','b'])

指定索引
如果想要将指定列设置为DataFrame索引可以明确指定message该列放到索引位置或者通过index_col来指定”message”,想要指定多列依次传入由列编号或者列名组成的列表

pd.read_csv(path, names=[], index_col=['key1', 'key2'])

跳过指定行
使用skiprows参数
pd.read_csv(path, skip_rows=[0, 2, 3])

缺失值处理
默认情况下Pandas会用一组经常出现标记值进行识别,如NA -1.#IND 以及NULL等,也就说把数据中出现这些数据的当初NaN缺失

读取缺失值

也可以使用na_values指定的表示缺失值的字符串
pd.read_csv(path, na_values=['NULL'])

还可以使用一个字典sentinels为不同列指定不同的表示缺失值的字符串
指定缺失值

read_csv/read_table 参数解释

参数解释1
参数解释2
参数解释3

逐块读取文件
只想读取几行,使用nrows进行指定
pd.read_table(path, nrows=5)

要逐块读取文件,需要设置chunksize(行数).
read_csv返回TextParser对象让你可以根据chunksize对文件逐块迭代
如下图所示,可能这样能够提高效率?

将数据写到文本格式
如下图所示

  • 用seq指定分隔符eg, seq=’|’
  • 缺失值在输出会为空字符串,用na_seq=’NULL’指定特定字符串
  • path参数使用sys.stdout表示只输出
  • 默认会输出行列标签,可以用index=False,header=False禁用
  • 只输出部分列以及指定顺序,可以用cols=[‘a’, ‘b’]

手工处理分隔符格式

一个简单的处理例子如下

定义一个新读取写格式

JSON数据
可以通过json.loads即可将JSON字符串Python形式,json.dump将Python转为JSON格式

 import json
 result = jsons.loads(obj)
 boj2 = jsons.dump(result)

XML和HTML:WEB收集信息
一个简单的读取HTML demo

links是上面获取的结果,这里links存的是对象的集合,要想获取URL等信息需要使用对象的的get方法

 lnk = links[28]
 lnk.get('herf')
 lnk.text_content()

具体关于XML的后面自己看书吧

读取Execl
ExeclFile需要用到xlrd和openpyxl两个包,所以需要先安装,以下是创建一个ExeclFile实例以及使用parse读取到DataFrame

 xls_file = pd.ExeclFile(path)
 table = xls_file.parse('Sheet1')

使用HTML和API
许多网站可以通过JSON或其他格式提供公共的API,可以通过python访问这些api,其中比较简单的是request

比如在Twitter搜索”pyhton panda”,可以发送一个gets请求

import requests
url = '...'
resp = requests.get(url)
# response对象text属性含有GET请求
# 许多返回的都是JSON字符串,我们需要加载到  pyhton 对象
import json
data = json.loads(resp.txt)

从数据中取样

利用Pandas库中的sample。

DataFrame.sample(n=None, frac=None, replace=False,weights=None, random_state=None, axis=None)

n是要抽取的行数。(例如n=20000时,抽取其中的2W行)

frac是抽取的比列。(有一些时候,我们并对具体抽取的行数不关系,我们想抽取其中的百分比,这个时候就可以选择使用frac,例如frac=0.8,就是抽取其中80%)

replace抽样后的数据是否代替原DataFrame()

weights这个是每个样本的权重,具体可以看官方文档说明。

random_state这个在之前的文章已经介绍过了。

axis是选择抽取数据的行还是列。axis=0的时是抽取行,axis=1时是抽取列(也就是说axis=1时,在列中随机抽取n列,在axis=0时,在行中随机抽取n行)

版权声明:欢迎转载,转载时请注明出处 https://blog.csdn.net/xfzero/article/details/79962145

Pandas —— 读写数据

读写文本格式的数据 读取数据 函数 说明 read_csv 从文件,URL,文件型对象中加载带分隔符的数据。默认分隔符为, read_table 从文件...
  • starter_____
  • starter_____
  • 2018年01月28日 23:00
  • 130

pandas 读取大文件

from matplotlib import pyplot import scipy as sp import numpy as np from matplotlib import pyl...
  • Addmana
  • Addmana
  • 2017年11月09日 20:56
  • 531

pandas基础__之__对获取mongodb数据

pandas基础__之__对获取mongodb数据
  • xiaoQL520
  • xiaoQL520
  • 2017年09月27日 11:35
  • 324

pandas Dataframe行 列读取的方法

import matplotlib.pyplot as plt import tkinter import numpy as np import pandas as pd fr...
  • cuihuijun1hao
  • cuihuijun1hao
  • 2017年10月03日 16:40
  • 722

Pandas-DataFrame总结(构造与读入数据)

简述:     Pandas的重要数据结构DataFrame在大数据运算中起着十分重要的作用,尤其是他的向量形式在大数据计算中很高效,DataFrame的基本结构如下:               ...
  • Jakob_Hu
  • Jakob_Hu
  • 2017年10月19日 17:26
  • 348

python批量读取txt文件为DataFrame

    我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作。比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢?首先...
  • m0_37324740
  • m0_37324740
  • 2017年09月20日 14:48
  • 3446

Pandas100秒处理一亿行数据

Python数据处理心得--Pandas100秒处理一亿行数据 1. 背景-为啥要用pandas 公司的日常运营数据通过大数据平台(HIVE SQL)通过汇总后,推送给业务部门进行日常分析的数据仍...
  • jambone
  • jambone
  • 2017年12月11日 09:21
  • 597

用pandas读取github的在线数据

用pandas读取github在线数据。 方式一: import pandas as pd url="https://raw.githubusercontent.com/hunkim...
  • Maverick_7
  • Maverick_7
  • 2018年01月10日 18:16
  • 154

Learning Python 013 按行读取文件(逐行读取) --- 按行写入文件(逐行写入) --- 实战:从字幕文件中提取字幕内容

使用的开发集成环境:PyCharm 2016.1.4 使用的Python的版本:python 2.7.10知识点:Python 按行读取文件读取整个文件的内容f = open('filename.t...
  • github_35160620
  • github_35160620
  • 2016年11月18日 04:46
  • 10230

python:pandas(7),读写文本格式数据

利用python进行数据分析第六章:数据加载、存储与文本格式NumPy提供了一个低级但异常高效的二进制数据加载和存储机制,而对于pandas的输入与输出划分为几个大类: 读取文本文件和其他更高效的磁...
  • genome_denovo
  • genome_denovo
  • 2017年10月15日 18:11
  • 329
收藏助手
不良信息举报
您举报文章:Pandas 读取文本数据
举报原因:
原因补充:

(最多只允许输入30个字)