我举一个玩具示例,但它会帮助我理解我试图做的其他事情。假设我想要一个名为“optimal_fruit”的新数据框列,其值为apples * orange - bananas。
我可以像这样做到:
df2['optimal_fruit'] = df2['apples'] * df2['oranges'] - df2['bananas']
apples oranges bananas optimal_fruit
1 6 11 -5
2 7 12 2
3 8 13 11
4 9 14 22
5 10 15 35
如果我尝试像这样做,会发生什么?我怎样才能在列表推导式中进行这个操作?
df2['optimal_fruit'] = [x * y - z for x in df2['apples'] for y in df2['oranges'] for z in df2['bananas']]
我遇到了一个错误:
ValueError: values的长度与index的长度不匹配
感谢大家一如既往的帮助!