【机器学习】NumPy数组的高级操作

第1关:堆叠操作

import numpy as np


def get_mean(feature1, feature2):
    '''
    将feature1和feature2横向拼接,然后统计拼接后的ndarray中每列的均值
    :param feature1:待`hstack`的`ndarray`
    :param feature2:待`hstack`的`ndarray`
    :return:类型为`ndarray`,其中的值`hstack`后每列的均值
    '''
    #********* Begin *********#
    a = np.array(feature1);
    b = np.array(feature2);
    x = np.hstack((a,b));
    ans = x.mean(axis = 0);
    return ans;
    #********* End *********#

第2关:比较、掩码和布尔逻辑

import numpy as np


def student(num,input_data):
    result=[]
    # ********* Begin *********#

    input_data = np.array(input_data);

    result = input_data[input_data > num];

    return result;
    # ********* End *********#



第3关:花式索引与布尔索引

import numpy as np

def student(input_data):
    result=[]
    #********* Begin *********#
    input_data = np.array(input_data);
    result = input_data[(input_data>='A')&(input_data<='Z')];

    # ********* End *********#
    return result

第4关:广播机制

import numpy as np

def student(a,b,c):
    result=[]
    # ********* Begin *********#
    a = np.array(a);
    b = np.array(b);
    c = np.array(c);
    result = a+b;
    result = result+c;



    # ********* End *********#
    return result

第5关:线性代数

from numpy import linalg
import numpy as np
def student(input_data):
    '''
    将输入数据筛选性别为男,再进行线性方程求解
    :param input_data:类型为`list`的输入数据
    :return:类型为`ndarray`
    '''
    result=[];
    # ********* Begin *********#
    a = [];
    b = [];
    if isinstance(input_data[0],list):
        for i in input_data:
            if i[0] == "男":
                a.append(i[1:3]);
                b.append([i[3]]);
        if len(a) == 0 and len(b)==0:
            return result;
        a = np.array(a);
        b = np.array(b);
        result = linalg.solve(a,b);
        # ********* End *********#
        return result
    else:
        return result;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值