如何从DataFrame中获取关联唯一Customer ID的Customer Name?
需求可行,以下是实现方法
你的需求完全可以实现,之前的代码问题在于df3['Customer ID'].unique()返回的是numpy数组,并非DataFrame结构,因此无法直接获取['Customer Name']字段。
可以通过以下几种方法实现需求:
方法一:用
drop_duplicates去重
直接提取目标字段后,按Customer ID去重,保留每个唯一ID对应的第一条记录:unique_customers = df3[['Customer ID', 'Customer Name']].drop_duplicates(subset='Customer ID')若
Customer ID与Customer Name是一一对应关系,这个方法最简洁高效。方法二:用
groupby分组提取
按Customer ID分组后,提取对应的姓名(如果一个ID对应多个姓名,可根据需求用first()/last()/agg()处理):unique_customers = df3.groupby('Customer ID')['Customer Name'].first().reset_index()方法三:保留每个ID的最后一条记录
若需要保留每个Customer ID对应的最后一条关联记录,修改drop_duplicates的keep参数即可:unique_customers = df3[['Customer ID', 'Customer Name']].drop_duplicates(subset='Customer ID', keep='last')
执行上述任意代码后,unique_customers即为包含唯一Customer ID及其对应Customer Name的DataFrame。
内容的提问来源于stack exchange,提问作者user19589852
相关产品推荐
相关产品推荐

