Python ValueError:在数据帧上执行行操作时,无法将输入数组从形状(5)广播到形状(4)
我有一个熊猫数据框(data),它有两列,包含单词列表(示例如下): 当我运行下面的代码时:Python ValueError:在数据帧上执行行操作时,无法将输入数组从形状(5)广播到形状(4),python,pandas,lambda,Python,Pandas,Lambda,我有一个熊猫数据框(data),它有两列,包含单词列表(示例如下): 当我运行下面的代码时: data['uncommon_words']= data.apply(lambda row: list(set(row['col1']) - set(row['col2'])), axis=1) 我收到错误消息: ValueError:无法将输入数组从形状(5)广播到形状(4) 有人能帮我解决这个错误吗。我已经检查了多个其他类似的帖子,但找不到解决这个问题的方法。我正在使用Python 3.5.2您
data['uncommon_words']= data.apply(lambda row: list(set(row['col1']) - set(row['col2'])), axis=1)
我收到错误消息:
ValueError:无法将输入数组从形状(5)广播到形状(4)
有人能帮我解决这个错误吗。我已经检查了多个其他类似的帖子,但找不到解决这个问题的方法。我正在使用Python 3.5.2您的代码对我来说运行良好
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]
你的代码对我很有效
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]
这些看起来不是列表,而是实际的stings,因为没有元素包装的引号。这些看起来不是列表,而是实际的stings,因为没有元素包装的引号。