好的,我已经尝试了太久了,是时候寻求帮助了。我有一个看起来有点像这样的数据框:
Run Code Online (Sandbox Code Playgroud)person fruit quantity all_fruits 0 p1 grapes 2 [grapes, banana] 1 p1 banana 1 [grapes, banana] 2 p2 apple 4 [apple, banana, peach] 3 p2 banana 4 [apple, banana, peach] 4 p2 peach 2 [apple, banana, peach] 5 p3 grapes 1 [grapes] 6 p4 banana 1 [banana] 7 p5 apple 3 [apple, peach] 8 p5 peach 2 [apple, peach]
然后我有一个“感兴趣的水果”列表:
Fruits_of_interest: ['苹果', '香蕉']
我需要做的是:
为每个感兴趣的水果创建一个列,并为第 1 列(人)上的每个人指定她是否有那个水果
对于第 1 列中的每个人,指定该人在该水果列下感兴趣的水果数量的 log(1+x)
我正在努力完成这项工作!我的实际数据框非常大,接近 80 万行,并且“感兴趣的水果”列表有 300 多个“水果”,这无济于事。
对于第一部分,我使用了这个函数,并且可以获取所有带有布尔值的列,以显示是否有水果:
Run Code Online (Sandbox Code Playgroud)def has_fruit(fruit, …