python - 查找合并的两列中唯一元素的总数
问题描述
我有一个数据框 names_df,有 8 亿行,两列。名字和姓氏。我需要从合并的两列中找到唯一名称的总数。
first_name last_name
0 john doe
1 jane doe
2 doe john
3 doe jane
:
799999999 Levi Ackerman
800000000 Gojo Satoru
我可以简单地做:
unique_names = np.concatenate((names_df.first_name.unique(), names_df.last_name.unique()), axis=None)
unique_names=set(unique_names.tolist())
print(len(unique_names))
但是,这需要很多时间并且效率低下,从两列组合中找到唯一值的总数更有效的是什么?unique_names 看起来像这样 =
>>>print(unique_names)
>>> {'john','jane','doe','levi','ackerman','Gojo','satoru'}
解决方案
使用这个(这比你的方法快):
set(names_df['first_name'].unique().tolist()+names_df['last_name'].unique().tolist())
推荐阅读
- ios - 从 Firebase Swift 下载时的函数循环
- python - 根据前几行在 pandas 数据框中填写日期
- javascript - 带有卡片问题的 Tailwind Flex Box 响应式网格
- javascript - 如何防止添加到主屏幕 pwa 在网站的 www 版本上再次提示?
- c - 我的 Makefile 中的 rm -f 命令不起作用
- html - 使用 CSS 对两行中的元素进行排序
- azure-devops - 如何自动用较新的版本替换/拒绝待处理的版本?
- java - Spring boot 附加位置参数的目录
- python - 用于合并和汇总两个数据文件的python代码中的问题
- linux-kernel - 自定义构建的内核无法正确安装 - Centos7