【问题标题】:performance using loc vs simply using inside square brackets使用 loc 与仅使用方括号内的性能
【发布时间】:2022-01-20 06:03:25
【问题描述】:

我知道 pandas 提供了多种索引数据的方法,我想知道从性能的角度来看,以下两种方法是否有区别,即哪一种更快或两者相同?

# method 1

df = table.loc[table.some_col==True, :]

# method 2

df = table[table.some_col==True]

【问题讨论】:

标签: python pandas


【解决方案1】:

第二个要快一点,对我来说是有意义的,因为第一个解决方案是组合DataFrame.locboolean indexing,仅次于boolean indexing

np.random.seed(2021)
table = pd.DataFrame(np.random.rand(10**7, 5), columns=list('abcde'))
table['some_col'] = table.a > 0.6

In [130]: %timeit table.loc[table.some_col==True, :]
258 ms ± 2.39 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [131]: %timeit df = table[table.some_col==True]
241 ms ± 1.52 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

【讨论】:

    猜你喜欢
    • 2018-07-02
    • 1970-01-01
    • 2017-11-24
    • 2018-02-20
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    相关资源
    最近更新 更多