pandas 通过在DataFrame中筛选返回最后一个值

c90pui9n  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(110)

我有一个数据库,从中提取了客户帐户的独特值。我试图通过相同的excel文件过滤客户帐户,并通过循环获得该客户的电子邮件id。
我的Excel数据(customers.xlsx)看起来像这样:

ClientID          email
abc               abc@email.com
dcf               dcf@email.com
ghj               ghj@email.com

字符串
这是我的代码

import pandas as pd  
customer account = []  
file = pd.read_excel(customers.xlsx)  
customer_account = file['ClientID'].unique().astype(str)


我正在尝试循环通过客户帐户的唯一值,并获得该客户的相应电子邮件ID。
我试着在网上搜索,但没有找到解决方案。
请帮帮忙

snz8szmq

snz8szmq1#

要获取用户abc的电子邮件,只需执行以下操作:

email_abc = file[file['ClientID' == "abc"]['email']

字符串
这意味着:在dataframe file中,选择ClientID等于"abc"的所有行(如果所有ID都是唯一的,这里将只有一行),并返回'email'列的内容。
由于只有一行,结果将是string类型(换句话说,您将获得所获得的单个单元格的内容)。如果有几行,那么结果将是一个Series(相当于Python列表),您必须选择您想要的这个Series的元素。因此,重要的是确保ID都是唯一的。
变量:如果ID是唯一的,你可以使用它们作为你的数据框架的索引。在这种情况下,检索值的代码是:

file = file.set_index('ClientID') # Set column ClientID as index
email_abc = file.loc['abc'] # get row with index "abc"

相关问题