将任何文件加载到pandas数据框中,配置最少,重点放在生物信息学上
dataframer的Python项目详细描述
数据框
尝试将任何文件加载到pandas数据帧中, 以最少的配置, 关注生物信息学
示例
通常,您将从磁盘读取文件(open('my-file.txt', 'rb')
)。
但是字节流在这里更简单。
>>> from io import BytesIO
>>> from dataframer import dataframer
>>> from pandas import set_option
>>> set_option('display.max_columns', None)
>>> bytes = b'a,b,c,z\n1,2,3,foo\n4,5,6,bar'
>>> stream = BytesIO(bytes)
默认行为是在第一列之后删除非数值。
>>> df_info = dataframer.parse(stream)
>>> df_info.data_frame
b c
a
1 2 3
4 5 6
>>> df_info.label_map is None
True
或者,它们可以保存在原地…
>>> df_info = dataframer.parse(stream, keep_strings=True)
>>> df_info.data_frame
b c z
a
1 2 3 foo
4 5 6 bar
>>> df_info.label_map is None
True
…或者它们可以用来组成更有意义的行标签。
>>> df_info = dataframer.parse(stream, relabel=True)
>>> df_info.data_frame
b c
a
1 2 3
4 5 6
>>> df_info.label_map
{1: 'foo / 1', 4: 'bar / 4'}
或者,也可以将第一列视为数据。
>>> df_info = dataframer.parse(stream, col_zero_index=False)
>>> df_info.data_frame
a b c
0 1 2 3
1 4 5 6
>>> df_info.label_map is None
True
如果你不需要整个文件,而只需要第一个 列信息行:
>>> df_info = dataframer.parse(stream, first_row_only=True)
>>> df_info.data_frame
b c
a
1 2 3
>>> df_info.label_map is None
True
单列列表有一个隐式标题:
>>> bytes = b'banana\napple\npear'
>>> stream = BytesIO(bytes)
>>> df_info = dataframer.parse(stream)
>>> df_info.data_frame
item
0 banana
1 apple
2 pear
释放过程
在分支更新VERSION.txt
中,使用语义版本控制:当
合并后,成功的travis构建将向pypi推送新版本。