2017-04-16 72 views
1

我有一个包含单词列表的2列(如下所示)的熊猫数据框(数据):ValueError:无法在对熊猫数据帧执行行操作时将形状(5)的输入数组广播到形状(4)中

data

当我运行代码如下:

data['uncommon_words']= data.apply(lambda row: list(set(row['col1']) - set(row['col2'])), axis=1) 

我得到的错误消息: ValueError异常:不能从广播形状输入阵列(5)进入形状(4)

任何人都可以帮我解决这个错误。我已经检查了多个其他类似的帖子,但找不到解决方案。我正在使用Python 3.5.2

+0

那些不看是列出,但实际蜇伤,因为没有引号的元素包裹。 – Parfait

回答

0

您的代码对我来说工作得很好。

df = pd.DataFrame({'col1':[['jones','snmart','ticket'],['alpha','female','she'],['uranus','mars','saturn']],'col2':[['smart'],['is','she'],['mars','planet']]}) 
print(df) 

输入DF:

     col1   col2 
0 [jones, snmart, ticket]   [smart] 
1  [alpha, female, she]  [is, she] 
2 [uranus, mars, saturn] [mars, planet] 

df['uncommon_words']= df.apply(lambda row: list(set(row['col1']) - set(row['col2'])), axis=1) 

print(df) 

输出:

     col1   col2   uncommon_words 
0 [jones, snmart, ticket]   [smart] [jones, ticket, snmart] 
1  [alpha, female, she]  [is, she]   [alpha, female] 
2 [uranus, mars, saturn] [mars, planet]   [saturn, uranus] 
相关问题