Python:在列表的一列上合并两个数据帧
我需要根据一列名为“authors”的列表找到两个数据帧之间的交集 但是我得到了这个错误Python:在列表的一列上合并两个数据帧,python,pandas,dataframe,merge,jupyter,Python,Pandas,Dataframe,Merge,Jupyter,我需要根据一列名为“authors”的列表找到两个数据帧之间的交集 但是我得到了这个错误 您不能在列表上合并,因为列表不能散列,请参阅。一种选择是通过将列表转换为字符串并在其上合并来创建附加列,例如: df['authors_as_string'] = df['authors'].apply(lambda x: "-".join(x)) 这将产生: id authors authors_as_string 0 1 [a, b, c] a-b-c 1 2
您不能在列表上合并,因为列表不能散列,请参阅。一种选择是通过将列表转换为字符串并在其上合并来创建附加列,例如:
df['authors_as_string'] = df['authors'].apply(lambda x: "-".join(x))
这将产生:
id authors authors_as_string
0 1 [a, b, c] a-b-c
1 2 [a, b, c] a-b-c
2 3 [a, b] a-b
3 4 [a, c] a-c
然后你可以合并到第三列
或者,您可以尝试在该问题中发布的其他解决方案。您无法在列表中合并,因为列表无法散列,请参阅。一种选择是通过将列表转换为字符串并在其上合并来创建附加列,例如:
df['authors_as_string'] = df['authors'].apply(lambda x: "-".join(x))
这将产生:
id authors authors_as_string
0 1 [a, b, c] a-b-c
1 2 [a, b, c] a-b-c
2 3 [a, b] a-b
3 4 [a, c] a-c
然后你可以合并到第三列
或者,您可以尝试该问题中发布的其他解决方案。您需要向我们展示您所尝试的。尽可能地将代码和错误粘贴到这里,而不是提供屏幕截图。让我们帮助您变得容易,您可能会看到更多的答案。您需要向我们展示您的尝试。尽可能地将代码和错误粘贴到这里,而不是提供屏幕截图。让我们帮助您变得容易,您可能会看到更多的答案。