在iloc中指定行与切片之间的区别是什么?



在下面的例子中指定行和切片的区别是什么?

df。Iloc [[3,4], 1]

df。iloc [3:4, 1]

切片a:b意味着连续在将位置指定为列表的同时,允许按任意序列(如[3, 5, 4, 1])进行索引。

性能也有差异。按索引切片的工作速度要快很多倍。例如

import pandas as pd
import numpy as np
df = pd.DataFrame({"X":np.random.random((1000,)),
})
%%timeit
df.iloc[range(100),:]
Out:
177 µs ± 5.1 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
%%timeit
df.iloc[:100, :]
Out: 
22.4 µs ± 828 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

最新更新