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)
我有一个数据框 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)