python - 如何从熊猫的另一列中不包含的一列中获取ID列表
问题描述
熊猫数据框有两列,其中包含需要获取 id 的 id 列表,而不包含在其他列中
id Column_1 Column_2
1 [1,2,5,7,9] [1,2,5,7]
2 [4,8,2,7] [4,8,2,7]
3 [5,7,2,9] [9]
4 [4,7,2,9] [3]
I want to result like
id Column_1 Column_2 result
1 [1,2,7] [1,2,5,7,9] [5,9]
2 [4,8,2,7] [4,8,2,7] []
3 [5,7,2,9] [9] []
4 [4,7,2,9] [3] [3]
解决方案
将值转换为集合并获得差异:
df['Column_3'] = [list(set(y).difference(x)) for x, y in zip(df['Column_1'], df['Column_2'])]
print (df)
id Column_1 Column_2 Column_3
0 1 [1, 2, 7] [1, 2, 5, 7, 9] [9, 5]
1 2 [4, 8, 2, 7] [4, 8, 2, 7] []
2 3 [5, 7, 2, 9] [9] []
3 4 [4, 7, 2, 9] [3] [3]
推荐阅读
- windows - 我可以防止 Windows 计算机在某些情况下进入睡眠状态吗?
- c++ - 使用 std::mutex 保护 for 循环
- mysql - 从 100 多个表格中获取高分以显示在摘要中
- pytorch - PyTorch DataLoader 为 TorchVision MNIST 添加额外维度
- ubuntu - SFTP 和 SCP 文件传输停止
- php - 如何在laravel中循环子孙
- python - 如何在 AWS Lambda 中导入 .so 文件(共享库)?
- php - 未定义变量:页面(查看:D:\wamp\www\laraangular\resources\views\site\about.blade.php)
- android - 如何在 android 中以与使用 crypto-js 在 Angular 中相同的方式加密数据
- r - 加快 R 中的“for”循环