在Python中,当列表太大时不可修改的列表

2024-09-28 05:20:56 发布

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

我有两个数据帧(都很大)dfdf3,下面是一行代码:

  set1 = df3['JointObligorID'].unique()
  set2 = df['JointObligorID'].unique()
  set3 = list(set(set1).intersection(set2)) 

  # slice df3 by keeping what's in set3 
  df4 = df3[df3['JointObligorID'].isin([set3])]

但是,当我到达最后一步时,会出现以下错误:

TypeError: unhashable type: 'list'

所提供的解决方案here不起作用,要么是因为有特定的问题,要么是一些答案不够笼统(我的列表set3太大)

有人能帮忙解决这个问题吗


Tags: 数据代码dfbyslicekeepinglistunique
2条回答

您正在传递一个列表列表,而不是使用

df4 = df3[df3['JointObligorID'].isin(set3)]

如果希望使用类似哈希列表的结构,可以使用tuples

set3 = tuple(set(set1).intersection(set2))

而不是:

set3 = list(set(set1).intersection(set2))

相关问题 更多 >

    热门问题