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

as_index = False时,groupby.first,groupby.nth,groupby.head有什么区别

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

as_index = False时,groupby.first,groupby.nth,groupby.head有什么区别

主要问题是您可能

'np.nan'
存储了字符串,而不是真正的null值。以下是这三个
null
值的不同处理方式:

样本数据:

import pandas as pddf = pd.Dataframe({'A': [1,1,2,2,3,3], 'B': [None, '1', np.NaN, '2', 3, 4]})

first

这将返回每个组中的第一个非空值。奇怪的是它不会跳过

None
,尽管可以通过kwarg来实现
dropna=True
。因此,
您可能会返回原来属于不同行的列的值

df.groupby('A', as_index=False).first()#   A     B#0  1  None#1  2     2#2  3     3df.groupby('A', as_index=False).first(dropna=True)#   A  B#0  1  1#1  2  2#2  3  3

head(n)

返回组中的前n行。 值保持在行内 。如果您给它的

n
行数超过了行数,它将返回该组中的所有行而不会抱怨:

df.groupby('A', as_index=False).head(1)#   A     B#0  1  None#2  2   NaN#4  3     3df.groupby('A', as_index=False).head(200)#   A     B#0  1  None#1  1     1#2  2   NaN#3  2     2#4  3     3#5  3     4

nth

这占用了

nth
行,因此 再次 保持在row内
.nth(0)
与相同
.head(1)
,但用途不同。例如,如果您需要第0行和第2行,则很难做到
.head()
,而使用则容易
.nth([0,2])
。同样,它
.head(10)
比容易编写
.nth(list(range(10))))

df.groupby('A', as_index=False).nth(0)#   A     B#0  1  None#2  2   NaN#4  3     3

nth
还支持删除具有任何空值的行,因此您可以使用它返回不包含任何空值的第一行,这与
.head()

df.groupby('A', as_index=False).nth(0, dropna='any')#   A  B#A      #1  1  1#2  2  2#3  3  3


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

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

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