TypeError: unhashable type: 'list' while self joining a dataframe?

TypeError: unhashable type: 'list' while self joining a dataframe?

我有一个数据框 df,当我自己加入它时,follows.I 使用另一个更大的 dataframe.Now 将此列设为“FN3LN4ZIP”,它给出了错误,TypeError: unhashable type: 'list' .可能是什么原因以及如何解决。 -当我为更大数据集的另一列做同样的事情时,它很容易自我加入。

  df:
  CustID    FN3LN4ZIP
    1   [ABY|MACL|153]
    2   [ABY|MACL|153]
    3   [AD|NBO|4103]
    4   [AY|NABO|7981]
    5   [ADE|LPK|7981]

使用以下代码自行加入:

df = pd.merge(df,df,on="FN3LN4ZIP",how = "inner")

由于您无法加入 list 类型,您可以将您的列映射到 string 以便合并,然后将其映射回原始 list 类型

import ast
df["FN3LN4ZIP"]= df["FN3LN4ZIP"].map(str)
pd.merge(df,df,on="FN3LN4ZIP",how = "inner")
df["FN3LN4ZIP"]= df["FN3LN4ZIP"].map(ast.literal_eval)