【发布时间】:2020-12-07 10:38:22
【问题描述】:
我目前正在对具有多种条件的顺序管道进行泛化; 假设我有一个水果数据,描述了苹果、香蕉和梨以及它们对应的重量和颜色。
import pandas as pd
fruits = pd.DataFrame({'Fruit': ['Apple', 'Apple', 'Banana', 'Pear' 'Pear', 'Banana'],
'Weight': [42, 64, 82, 74, 51, 71],
'Color': ['Red', 'Green', 'Yellow', 'Green' 'Red', 'Yellow']})
我想使用全部或部分特征将水果分为“Red_big_apples”、“Green_big_apples”、“Red_small_apples”、“Green_small_apples”、“Red_big_pears”等组。
for i in list(fruits.index):
if fruits.loc[i, 'Fruit'] == 'Apple':
if fruits.loc[i, 'Weight'] < 50:
if fruits.loc[i, 'Color'] == 'Red':
fruits.loc[i, 'Group'] = 'Red_small_apples'
ect.
现在想象一下,我有一个更复杂的顺序条件管道,并且可能需要在几周内实现一个全新的、不同的复杂顺序条件管道。
主要思想是创建一个组合 df/hashmap,它将与类中的某个函数(我将创建)进行通信,以提取给定水果的最后一组 - 但是当我构建 df/hashmap(一个复杂的任务本身)时,我知道它会有多大(约 2000 行/组合)。
我的问题是,您认为解决此问题的最佳方法是什么?
如果发生内部更改或新管道,分组方式将是:
- 计算速度最快
- 最容易实施
哪种方式最通用,因此在这种情况下我不需要更改类和/或类函数?
- df/hashmap
- 具体功能
- 其他
谢谢!
【问题讨论】: