如何获取Pandas DataFrame中各唯一值首次出现的索引?
获取DataFrame中唯一值首次出现的索引
修正示例DataFrame代码
你给出的DataFrame定义存在语法错误,正确写法应为:
import pandas as pd df1 = pd.DataFrame({"Name": ["Adam","Joseph","James","James","Kevin","Kevin","Kevin","Peter","Peter"]})
实现方法
要获取每个唯一值首次出现的索引,有两种简单实用的方式:
方法一:使用drop_duplicates()
先保留每个值的首次出现行,再提取对应索引:
first_indices = df1["Name"].drop_duplicates().index.tolist() print(first_indices) # 输出结果:[0, 1, 2, 4, 7]
方法二:使用groupby()分组提取
按Name分组后,取每组的第一个索引:
first_indices = df1.groupby("Name").apply(lambda x: x.index[0]).tolist() print(first_indices) # 输出结果:[0, 1, 2, 4, 7]
内容的提问来源于stack exchange,提问作者user18562240
相关产品推荐
相关产品推荐

