python - 为什么 Series 的 group 和 aggregate 比单列 DataFrame 更快?
问题描述
当在 pandas.Series 上调用 group by 和 aggregate 时,它比使用一列(它是 pandas.Series 实例)调用 pandas.DataFrame 更快。下面是一个例子:
import random
import pandas as pd
import time
column1 = [random.randint(1,3) for i in range(1000)]
column2 = [random.random() for i in range(1000)]
df = pd.DataFrame(zip(column1, column2), columns=["group", "number"])
t1 = time.time()
grouped_1 = df.groupby("group").sum()
t2 = time.time()
print(t2-t1)
t1 = time.time()
grouped_2 = df.groupby("group")["number"].sum()
t2 = time.time()
print(t2-t1)
print("First type %s" %type(grouped_1))
print("Second type %s" %type(grouped_2))
输出 =
0.0062596797943115234
0.0024614334106445312
First type <class 'pandas.core.frame.DataFrame'>
Second type <class 'pandas.core.series.Series'>
用一列与一系列聚合数据框的瓶颈是什么?
解决方案
推荐阅读
- javascript - Javascript检测点击视频进度条
- python - Matplotlib 中的 Matlab“xy 轴”等价物是什么?
- javascript - JavaScript 嵌套 for 循环导致仅显示最后一个迭代对象值
- unit-testing - rego_type_error:未定义的函数
- php - WordPress 调试:WP_Http 和通知 | briarnblaar.co.za | 严重错误屏幕
- c# - 如何使用 enum 和 json 在数据库中插入数据?
- git - Git 和 SHA-256
- r - 查找矩阵数组的索引,该索引最接近 R 中另一个矩阵的每个元素
- svg - 将 SVG 组转换为 3D 形状 | 用 Three.js 增加厚度
- c++ - 了解默认模板参数何时是重定义以及何时不在 SFINAE 技术中