最近用Pandas比较多, 把常用的东西摘抄一下备查
数据读取
- 基本读取直接
read_csv
就可以了, 主要是涉及到一些参数
1 2 3 4
| import pandas as pd df = pd.read_csv(file_path, sep="\t", index_col=0, header=0)
|
- 在处理很大的数据时, 为防止爆内存, 需要生成迭代器分块读取文件
1 2 3 4 5 6 7 8 9 10 11
| import pandas as pd
reader = pd.read_csv(file_path, sep="\t", iterator=True, chunksize=1000))
chunk = reader.get_chunk() df = pd.DataFrame(chunk)
|
- 另外,
pandas
可以智能识别读入文件是否是压缩文件(通过扩展名识别), 所以经过压缩的文本文件只要分隔符指定无问题就可以读取, 写入时也是
已淘汰的`read_table`
不记得从哪个版本开始, read_table
就被放弃了, 只保留read_csv
, 说是csv
文件的读写效率更高处理更快
但是比较蛋疼的是生信领域其实是有大量内容都是用tsv
文件, 或者类tsv
文件的…
数据写入
普通文本文件
写入Excel
1
| data.to_excel(FILE, sheet_name='SHEET')
|
- 需要注意的是如果想一次性将多个数据表写入多个sheet可以这样操作:
1
| data.to_excel(FILE, sheet_name='SHEET')
|
子集选取
- 与R类似, pandas也支持多种子集选取方式, 部分选取逻辑也跟R非常类似, 但是有些东西与R并不一样, 一般来说在pandas里能实现的方式R都可以, 但是反过来则不然, 这里只记录与R中选取逻辑类似的方法
1 2 3 4 5 6 7 8 9
| import pandas as pd df = pd.read_table(file_path, sep="\t")
df = df.loc[['a', 'b', 'c'], ['d', 'e', 'f']]
df = df.loc[:, ['d', 'e', 'f']] df = df.loc[['a', 'b', 'c'], ]
|
行列删减
遍历处理