【发布时间】:2020-11-21 23:00:16
【问题描述】:
price
date price fruit
2010-01-04 0.83 banana
2010-01-04 0.05 apple
对于每个水果,如果那个水果==True,你怎么能保留,然后在处理那个特定水果时暂时放下水果列?
listxx = [(price, "price")]
fruits = ['apple', 'banana', 'pear']
for fruit in fruits:
for x, y in listxx:
x[x['fruit'] == fruit]
x.drop(['fruit'], axis=1, inplace=True)
目前,当我到达香蕉时,由于苹果,水果列已经被删除。
对香蕉进行迭代时,价格数据集应如下所示:
date price
2010-01-04 0.83
当迭代苹果时,价格数据集应该是:
date price
2010-01-04 0.05
【问题讨论】:
-
问题不明确,如果你打算删除水果列或行。
-
你能否准确地显示给定输入的输出应该是什么样的线,并使输出足够大以显示问题(即,包括应该和不被删除的东西)?跨度>
-
它需要对每个水果进行迭代。代码中断是因为在到达列表中的第二个项目时没有可删除的水果列。保留 iffruit=True 和删除fruit 列是暂时的。
-
这部分:
x[x['fruit'] == fruit]创建一个 new 表,其中仅包含fruit匹配的行,然后 将其丢弃,没有任何意义我>。特别是,下一行的x指的是原始price表。 -
"它需要对每个水果进行迭代。"这几乎没有足够的信息。在迭代期间应该发生什么?似乎您想找到水果匹配的行,并考虑那些没有水果列的行,然后......然后呢?您是否尝试更改
price数据框的内容?
标签: python python-3.x pandas dataframe for-loop