- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含大约 150M 行的大型 .csv
文件。我仍然可以将整个数据集放入内存并使用 Pandas 进行分组和组合。示例...
aggregated_df = df.groupby(["business_partner", "contract_account"]).sum()
在上面的示例中,数据框包含两个整数列,business_partner
和 contract_account
,它们用作分组操作的键。可以假设剩余的列都是我想要聚合的浮点特征。
但是,这仅使用了我工作站上 48 个内核中的 1 个。我正在尝试使用 vaex为了利用我所有的核心,但无法弄清楚执行 groupby 和 combine 的 API 调用。也许在 Vaex 中还不可能?
编辑:
最佳答案
您可以在 https://docs.vaex.io/en/latest/api.html#vaex.dataframe.DataFrameLocal.groupby 中找到一个工作示例
以您按 2 列分组并获得总和聚合的示例为例:
import pandas as pd, numpy as np
import vaex
# Create input dataframe
n=10**6 # Change this to adjust df size
a_c1 = [1,2,3]*n
a_c2 = [1,1,2,2,3,3]*int(n/2)
a_x = np.arange(float(len(a_c1)))
df = pd.DataFrame({'c1':a_c1,'c2':a_c2,'x1':a_x, 'x2':a_x})
# Convert dataframe to vaex
# dfv = vaex.from_pandas(df) # This also works, but it's slower
dfv = vaex.from_arrays(c1=a_c1, c2=a_c2, x1=a_x, x2=a_x)
df_result1 = df.groupby(['c1','c2']).sum()
df_result2 = dfv.groupby(['c1','c2'],agg='sum')
输出结构会略有不同:
> print(df_result1)
x1 x2
c1 c2
1 1 7.499985e+11 7.499985e+11
2 7.500000e+11 7.500000e+11
2 1 7.499990e+11 7.499990e+11
3 7.500005e+11 7.500005e+11
3 2 7.499995e+11 7.499995e+11
3 7.500010e+11 7.500010e+11
> print(df_result2)
# c1 c2 x_1_sum x_2_sum
0 2 3 7.50000e+11 7.50000e+11
1 2 1 7.49999e+11 7.49999e+11
2 3 2 7.5e+11 7.5e+11
3 3 3 7.50001e+11 7.50001e+11
4 1 2 7.5e+11 7.5e+11
5 1 1 7.49998e+11 7.49998e+11
关于python - Groupby 并使用 Vaex 组合数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56767423/
我正在使用 Vaex 并寻找性能提示。 我的用例如下: 我有一个大数据框 - 我们称它为 large_df (只有几列,但有数千万行,在生产中,数据集将大于 10 倍)。其中一列称为 key ,这是一
我想使用 Vaex 中的另一列为计算设置一个虚拟列。我需要在此计算中使用 if 语句。一般来说,我想打电话 df['calculation_col'] = log(df['original_col']
我在演示中看到可以这样做:https://youtu.be/2Tt0i823-ec?t=769 在那里,演示者有一个巨大的数据集,可以通过用鼠标选择一个矩形来快速放大。 我还看到了教程的“交互式小部件
我尝试了这个解决方案,但它并没有真正解决我的问题 x = ['a', 'b', 'c', 'd', 'e', 'f'] y = np.array(['10', '20', '30', '40', '5
我有数据文件 'for-filter.txt' a,b,c,d 1,2,3,4 2,6,7,8 -1,2,3,4 4,5,5,5 -2,3,3,3 我正在做的Vaex代码 import vaex as
我有一个包含大约 150M 行的大型 .csv 文件。我仍然可以将整个数据集放入内存并使用 Pandas 进行分组和组合。示例... aggregated_df = df.groupby(["busi
我正在为监督学习任务准备一个大型多变量时间序列数据集,我想创建我的输入特征的时移版本,以便我的模型也可以从过去的值中推断出来。 pandas 中有一个 shift(n) 命令,可让您将一列移动 n 行
我正在尝试执行以下操作 用字符串列加载一些数据 measurement_df = pd.read_csv('data/tag_measurements/all_measurements.csv') m
我有一些来自用户的条目以及该用户在我的网站上进行了多少次互动... 我有 34 万行和 70 多列,我想使用 Vaex,但我在做一些简单的事情时遇到了问题,比如删除重复项。 有人可以帮助我如何做吗?
我有一个非常大的数据集,我通过 append 以块的形式写入 hdf5,如下所示: with pd.HDFStore(self.train_store_path) as train_store:
当我使用 vaex 时如下: for i, df in enumerate(vaex.from_csv('cars.csv', convert=True,chunk_size=100_000)):
当我使用 vaex 时如下: for i, df in enumerate(vaex.from_csv('cars.csv', convert=True,chunk_size=100_000)):
我将日期作为字符串(例如:3/24/2020),我想将其转换为 datetime64[ns]格式 df2['date'] = pd.to_datetime(df1["str_date"], forma
我是一名优秀的程序员,十分优秀!