我有2个名单; a和b。 a包含用户名,每个用户名在此列表中是唯一的。我从下面的excel文件中读取了用户名。
a = pd.read_excel("user_name.xlsx", 'Sheet1')
另一个清单; b也有用户名,但名称不是唯一的,有些名称不止一次列出。
我想根据列表a计算并打印列表b中的用户名数。例如:列表len为700,列表b len为300.我想得到如下结果。这意味着username1仅在列表b中列出一次,username2不在列表b中,username699在列表b中列出5次,等等。
username1 1
username2 0
.
.
.
username699 5
username700 2
我在下面尝试,但它没有使用列表a作为索引。任何人都可以建议如何解决这个问题?
df = pd.DataFrame({'username':list(b)})
da = df.groupby('username').count()
答案 0 :(得分:0)
正如我在评论中所提到的,你可以这样做,或者如果你坚持使用熊猫,你可以这样做:
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()