数据分析|??Python【Vaex】保姆式教程??
一、Vaex介绍 Vaex是一种更快、更安全、总体上更方便的方法,可以使用几乎任意大小的数据进行数据研究分析,只要它能够适用于笔记本电脑、台式机或服务器的硬盘驱动器。
Vaex是一个开源的DataFrame库,它可以对表格数据集进行可视化、探索、分析,甚至机器学习,这些数据集和你的硬盘驱动器一样大。它可以在一个n维网格上每秒计算超过10亿(10^9)个对象的平均值、和、计数、标准差等统计信息。可视化使用直方图、使用直方图、密度图和3D立体渲染进行可视化。为此,Vaex采用了内存映射、高效的外核算法和延迟计算等概念来获得最佳性能(不浪费内存)。所有这些都封装在一个类似Pandas的API中
二、Vaex的安装
pip install vaex
三、Vaex的安的使用 1、首先将csv文件转换成hdf5文件
文章图片
# 注意:csv转换成hdf5时column的名称不能含有中文
--
#names –如果为True,则第一行用于列名,否则提供带有名称的字符串列表
#skip_lines –跳过文件开头的行
#skip_after –跳过文件末尾的行
ds = vx.from_ascii("table.asc")
ds = vx.from_ascii("table.csv", seperator=",", names=["x", "y", "z"])
--
#filename_or_buffer(str)– CSV文件路径或类似文件的路径
#copy_index(bool)–通过pandas读取源时的复制索引
#str convert(bool)–将文件转换为hdf5文件以进行优化,也可以是路径。CSV文件将分块读取:使用提供的chunk_size参数或默认大小读取。每个块将保存为一个单独的hdf5文件,然后将它们全部合并为一个hdf5文件。因此,对于大CSV文件,您至少需要磁盘上额外空间的两倍。用于转换的默认chunk_size为500万行,相当于纽约出租车数据集示例中大约1Gb的内存。
#kwargs –额外的关键字参数,当前传递给Pandas的read_csv函数,但其??实现可能会在将来的版本中更改。
#chunk_size(int)–如果CSV文件太大而无法容纳在内存中,则此参数可用于大块读取CSV文件。例如:
import vaex
for i, df in enumerate(vaex.from_csv('taxi.csv', chunk_size=100_000)):
df = df[df.passenger_count < 6]
df.export_hdf5(f'taxi_{i:02}.hdf5')
2、导出数据
df.export_csv('va.csv')
3、选择和过滤
# 筛选df.x的数据 selection为选择条件
df.evaluate(df.x, selection=True)
df.evaluate(df.x, selection=df.x>0) #获取df.x列中df.x>0的数据(不包含其他列)
df_negative = df[df.x < 0] #获取df.x<0的数据(包含其他列)
4、统计
# 计数 求均值
df.count(selection=df.x<0)
df.mean(df.x)
# 统计df.x在范围limits([-10,10])区间分为shape(64)组,每一组的个数
counts_x = df.count(binby=df.x, limits=[-10, 10], shape=64)
#统计df.x,df.y在范围limits([-10, 10], [-10, 20])区间分为shape(64,128)组,每一组的个数
xycounts = df.count(binby=[df.x, df.y], limits=[[-10, 10], [-10, 20]], shape=(64, 128))
【数据分析|??Python【Vaex】保姆式教程??】
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长