但是如果数组比较大的时候,性能就会下降,运行的就会久一点,那如果针对在大数组情况下做优化呢,下面说两种方法(都是通过自定义函数来实现):
1.数组key与value翻转,通过isset判断key是否存在于数组中复制代码 代码如下:/** * in_array is too slow when array is large */public static function inArray($item, $array) { $flipArray = array_flip($array);
实际项目中有这样的需求,将某一列的值,映射成类别型的数据,这个时候,需要我们将范围等频切分,或者等距切分。
具体的做法可以先看某一些特征的具体分布情况,然后我们选择合适的阈值进行分割。
def age_map(x):
if x =26 and x 35 and x <= 45:
return 2
elif pd.isnull(x): #判断是否为NaN值,== 和in 都无法判断
return 3
else:
return 4
也就是用pandas自带的函数来表示: