按熊猫数据框唯一的第一个值分组 - 返回 numpy 数组

亚历克斯SB

从两个字符串列的熊猫数据框看起来像:

d = {'SCHOOL' : ['Yale', 'Yale', 'LBS', 'Harvard','UCLA', 'Harvard', 'HEC'],
     'NAME' : ['John', 'Marc', 'Alex', 'Will', 'Will','Miller', 'Tom']}

df = pd.DataFrame(d)

注意 NAME 到 SCHOOL 之间的关系是 n 到 1。如果一个人去了两所不同的学校,我想得到最后一所学校(参见“Will”案例)。

到目前为止,我得到了:

df = df.groupby('NAME')['SCHOOL'].unique().reset_index()

返回:

     NAME           SCHOOL
0    Alex            [LBS]
1    John           [Yale]
2    Marc           [Yale]
3  Miller        [Harvard]
4     Tom            [HEC]
5    Will  [Harvard, UCLA]

问题:

  • unique() 不仅返回最后一个 school 还返回两个school
  • 这一行将 SCHOOL 列作为np.array 而不是 string 返回很难用这个 df 进一步工作。
亚历克斯SB

这两个问题都是基于@IanS 评论解决的。

使用last()代替unique()

df = df.groupby('NAME')['SCHOOL'].last().reset_index()

返回:

     NAME   SCHOOL
0    Alex      LBS
1    John     Yale
2    Marc     Yale
3  Miller  Harvard
4     Tom      HEC
5    Will     UCLA

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否有NumPy函数返回数组中某物的第一个索引?

numpy-返回数组中元素的第一个索引

数组函数仅返回第一个值

按字段值返回第一个匹配项的数组

如何使用 numpy 创建一个从数据数组返回二维值的函数?

如何遍历numpy数组的一个轴,返回内部数组而不是值

返回数组中的第一个和最后一个值

熊猫DatetimeIndex.weekday应该返回索引还是一个numpy数组?

numpy平方返回数组错误的值

查找 numpy.where 返回的数组之间的唯一索引

numpy返回空数组

根据第二个值返回数组的第一个值

Javascript数组的第一个结果返回“空”

在def中返回数组的第一个元素

数组的第一个索引返回IndexOutOfRangeException

查找数组中的第一个、最后一个和中间值。返回最大的一个

df.to_numpy返回列表的numpy数组,而不是统一的numpy数组

将数据从一个Numpy数组移动到另一个返回不正确的数据

np.where返回一个包含numpy数组的空数组

如果第一个值是 np.nan,则 Matplotlib 不会绘制我的 numpy 数组

如何在NumPy数组中找到第一个局部最大值?

BigQuery标准SQL:如何返回数组的第一个值?

返回第一个满足条件的数组中的值

如何返回数组中的第一个非错误值?

PHP Iterator 接口:current() 返回底层数组而不是第一个值

如何在数组中搜索多个键并返回第一个找到的值?

Javascript循环遍历对象数组并返回第一个值

返回数组索引第一个值不丢失SAS的函数

返回第一个对象以在 javascript 多级嵌套对象数组中包含特定值