栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何有效地迭代熊猫数据帧的连续块

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何有效地迭代熊猫数据帧的连续块

实际上,您不能 保证
大小相等的块。行数(N)可能是素数,在这种情况下,您只能获得大小相等的1或N块。因此,实际分块通常使用固定大小,并允许最后使用较小的块。我倾向于将数组传递给

groupby
。从…开始:

>>> df = pd.Dataframe(np.random.rand(15, 5), index=[0]*15)>>> df[0] = range(15)>>> df    0         1         2         3         40   0  0.746300  0.346277  0.220362  0.1726800   1  0.657324  0.687169  0.384196  0.2141180   2  0.016062  0.858784  0.236364  0.963389[...]0  13  0.510273  0.051608  0.230402  0.7569210  14  0.950544  0.576539  0.642602  0.907850[15 rows x 5 columns]

我故意通过将索引设置为0来使索引无意义,我们只需确定大小(此处为10),然后按整数除以一个数组即可:

>>> df.groupby(np.arange(len(df))//10)<pandas.core.groupby.DataframeGroupBy object at 0xb208492c>>>> for k,g in df.groupby(np.arange(len(df))//10):...     print(k,g)...     0    0         1         2         3         40  0  0.746300  0.346277  0.220362  0.1726800  1  0.657324  0.687169  0.384196  0.2141180  2  0.016062  0.858784  0.236364  0.963389[...]0  8  0.241049  0.246149  0.241935  0.5634280  9  0.493819  0.918858  0.193236  0.266257[10 rows x 5 columns]1     0         1         2         3         40  10  0.037693  0.370789  0.369117  0.4010410  11  0.721843  0.862295  0.671733  0.605006[...]0  14  0.950544  0.576539  0.642602  0.907850[5 rows x 5 columns]

当索引与索引不兼容时,基于​​切片Dataframe的方法可能会失败,尽管您始终

.iloc[a:b]
可以忽略索引值并按位置访问数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633636.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号