gpt4 book ai didi

python - 合并列表列失败

转载 作者:行者123 更新时间:2023-11-30 22:18:15 24 4
gpt4 key购买 nike

示例:

df1 = pd.DataFrame({'a':list('ab'), 'b':[[1,2],[4,5]]})
print (df1)
a b
0 a [1, 2]
1 b [4, 5]

df2 = pd.DataFrame({'c':list('cd'), 'b':[[1,7],[4,5]]})
print (df2)
b c
0 [1, 7] c
1 [4, 5] d

我尝试按列 blists 合并:

df = pd.merge(df1, df2, on='b')

TypeError: type object argument after * must be a sequence, not map

我找到了将列转换为元组的解决方案:

df1['b'] = df1['b'].apply(tuple)
df2['b'] = df2['b'].apply(tuple)

df = pd.merge(df1, df2, on='b')
print (df)
a b c
0 b (4, 5) d

但是为什么mergelist的列失败了?

最佳答案

我不确定,但似乎使用字典而不是列表,例如:

df1 = pd.DataFrame({'a':list('ab'), 'b':[{1:2},{4:5}]})
df2 = pd.DataFrame({'c':list('cd'), 'b':[{1:7},{4:5}]})

或设置:

df1 = pd.DataFrame({'a':list('ab'), 'b':[{1,2},{4,5}]})
df2 = pd.DataFrame({'c':list('cd'), 'b':[{1,7},{4,5}]})

你会得到同样的错误。

所以我相信与list列的合并失败,因为它们可变,而tuble则不然

关于python - 合并列表列失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com