这是我的数据框:
Cites_Dogs Dog_Number
DOG45555 DOG123
DOG127 DOG123
DOG7760 DOG126
DOG45 DOG126
DOG559 DOG126
DOG760 DOG126
DOG123 DOG127
DOG789 DOG127
DOG860 DOG127
我已按以下代码转换为列表:
all_cites_dog = all_cites_dog.groupby('Dog_Number')['Cites_Dogs'].apply(list)
我想删除列表中与索引DOG123、DOG126、DOG127不匹配的项。你知道吗
DOG123 [ 'DOG45555' , 'DOG127']
DOG126 [ 'DOG7760', 'DOG456' , 'DOG559' , 'DOG760']
DOG127 [ 'DOG123' , 'DOG789' , 'DOG860']
我希望看到这样的结果:
DOG123 [ 'DOG127']
DOG126 ['']
DOG127 [ 'DOG123']
我该怎么办?你知道吗
在
groupby+apply
中使用筛选:为了获得更好的性能,首先按^{} 和^{} 过滤,然后按
groupby
过滤,最后添加缺少的不匹配空值:您可以使用
apply
并使用列表理解来保留索引中的元素:您可以按照以下步骤操作:
Cites_Dogs
过滤数据帧。你知道吗list
执行groupby
+apply
。你知道吗NaN
值替换为空列表以保持一致性。你知道吗下面是一个演示:
相关问题 更多 >
编程相关推荐