gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:31:15 25 4
gpt4 key购买 nike

来自两个字符串列的 pandas 数据框,如下所示:

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() 返回两个学校,而不仅仅是最后一个学校
  • 此行以 np.array 而不是字符串的形式返回 SCHOOL 列。与这个 df 进一步合作非常困难。

最佳答案

这两个问题都是根据@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

关于python - 按 pandas 数据框唯一的第一个值分组 - 返回 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com