SOTON私人定制:利用Python进行数据分析( 数据导入导出)

数据导入导出

pandas支持多种类型的数据的读取,但是目前存放数据还是文本,比如说存放参考基因组的fasta文件,存放测序结果的fastq文件,为了降低宽带压力一般都会压缩一下文本。

本部分的函数总结使用幕布进行整理,地址为:https://mubu.com/doc/MnvB7a6T0

学习笔记

数据导入面对最大的难题就是日益增加的文本数据量和有效的内存大小的矛盾,因此应该避免一次性导入全部数据,而是少量多次。

import pandas as pd
pd.options.display.max_row = 10
# using nrows
result_part = pd.read_csv('example/ex6.csv', nrows=5)
# using chunks
chunker = pd.read_csv('example/ex6.csv', chunksize=1000)
tot = pd.Series([])
for piece in chunker:
    tot = tot.add(piece['key'].value_counts(), fill.value=0)
tot = tot.sort_values(ascending=False)
# using get_chunk methonds
result = chunker.get_chunk()

部分数据直接用pd.read_csv读取时可能会遇到麻烦(trip up),因为里面可能有一些行存在问题,可以使用Python的csv标准库进行处理。举个简单的例子

import csv
with open('examples/ex7.csv') as f:
    lines = list(csv.reader(f))
header, value = lines[0], lines[1:]
data_dict = [h:v for h,v in zip(header, zip(*values))]

数据清洗和准备

在数据建模和分析之前有非常的时间需要花在清理数据,准备规整化后的数据结构上,一个优秀的数据结构能够大大减轻后续分析的压力。这部分工作可以用Python, R, Java, Awk/sed进行,但Pandas提供高级、灵活且快速的分析工具让你方便的操作数据。数据清洗主要分为三个方面

  • 处理缺失数据(missing)
  • 数据变形(data transformation)
  • 字符处理(string munipulation)

本部分的幕布链接为: https://mubu.com/doc/1tUcxzuNs0

你可能感兴趣的:(SOTON私人定制:利用Python进行数据分析( 数据导入导出))