比较列表A和列表B,并计算列表B中列表A的每个项目的总数

2024-10-03 21:28:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表;a和b。a包含用户名,每个用户名在这个列表中都是唯一的。我从下面的excel文件中读取用户名。你知道吗

a = pd.read_excel("user_name.xlsx", 'Sheet1')

You may see user_name output below.

另一个列表;b也有用户名,但名称不是唯一的,有些名称被多次列出。 you may see list b sample as below.

我想根据列表a统计并打印列表b中的用户名数。例如:列表a长度为700,列表b长度为300。我想得到如下结果。这意味着username1只在列表b中列出一次,username2不在列表b中,username699在列表b中列出5次,以此类推。。你知道吗

username1    1
username2    0
. 
.
. 
username699  5 
username700  2 

我在下面尝试,但它不使用列表作为索引。有人能建议如何解决这个问题吗?你知道吗

df = pd.DataFrame({'username':list(b)})
da = df.groupby('username').count()

Tags: 文件name名称df列表readusernamexlsx
1条回答
网友
1楼 · 发布于 2024-10-03 21:28:17

正如我在评论中提到的,您可以这样做,或者如果您坚持使用熊猫,您可以这样做:

df = pd.DataFrame({'username':list(b)})
for i,row in enumerate(a.values):
    data = df[df['username'] == a.index[i]]
    print data.groupby(['username'])['username'].count()

相关问题 更多 >