使用Python访问数据框的不同方法的表现

2024-04-20 00:18:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究Python数据帧,我看到

%timeit

然后我比较了一些数据帧, 下面是当数据集变大时访问高度相关的数据帧的不同方式的性能示例。你知道吗

所以呢

%timeit data.ix[0,0]

10000圈,最佳3:159µs/圈

%timeit data.loc[0,'nation']

10000圈,最佳3:158µs/圈

%timeit data.iloc[0,0]

10000圈,最佳值为3:132µs/圈

%timeit data.iat[0,0]

100000圈,最佳3:5.9µs/圈

你可以看到data.iat[0,0]与其他人有很大的不同。你知道吗

我的问题是,为什么.iat不同于其他人,它是如何工作的? 我们能处理任何数据吗?你知道吗


Tags: 数据示例data高度方式性能locix
1条回答
网友
1楼 · 发布于 2024-04-20 00:18:23

首先,不要使用ix。。。它的用例比iloc/lociat/at更容易混淆。And ^{} will be deprecated

其次,get_value要快得多,但并不打算成为公共API,尽管没有什么可以阻止您使用它。See @jeff's comment


答案的核心是:

ilocloc接受类似数组的输入。。。iatat没有。因此,如果要访问数据帧中的一个点,请务必使用iatat。但是,如果要使用布尔数组或位置或索引值数组,则不能使用iatat,因此请使用ilocloc

相关问题 更多 >