Tracer105 2022-07-29 12:06 采纳率: 66.7%
浏览 98
已结题

速求一个pyhton代码

img


第二题删掉第四列,且不求逆,就是一个三阶方阵,求,各路神仙大显灵通

每道题目请认真书写注释,要求描述该代码的功能及输出的结果。

  • 写回答

2条回答 默认 最新

  • herosunly Python领域优质创作者 2022-07-29 12:21
    关注

    第一题代码,使用快速排序:

    import random
    
    def quick_sort(arr, left, right):
        # 只有left < right 排序
        if left < right:
            # pivot_index = partition(arr, left, right)
            random_index = random.randint(left, right)
            arr[left], arr[random_index] = arr[random_index], arr[left]
            pivot = arr[left]
            lt = left # arr[left+1...lt] < v
            gt = right + 1 # arr[gt...right] > v
            i = left + 1 # arr[lt+1...i] == v
            while i < gt:
                if arr[i] < pivot:
                    arr[i], arr[lt+1] = arr[lt+1], arr[i]
                    lt += 1
                    i += 1
                elif arr[i] > pivot:
                    arr[i], arr[gt-1] = arr[gt-1], arr[i]
                    gt -= 1
                else:
                    i += 1
            arr[left], arr[lt] = arr[lt], arr[left]
            quicksort(arr, left, lt-1)
            quicksort(arr, gt, right)
     
    # 通过数据进行测试
    data = [1, 5, 7, 2, 4]
    quicksort(data, 0, len(data)-1)
    print(data)
    

    第二题:

    import sympy
    import numpy as np
    
    arr = np.array([[3, 2, 1], [1, 2, -3], [4, 4, -2]])
    dim = arr.shape[0]
    x = sympy.symbols([f"x{idx}" for idx in np.arange(dim)])
    # 创建未知数列表
    gen_sol = sympy.solve(np.array(x) @ arr, *x)
    # 得到 arrx = 0 的通解
    cond = sympy.Eq(sum(x), 1)
    print(cond)
    # 特征值
    print(np.linalg.eigvals(arr))
    # 特征向量
    print(np.linalg.eig(arr))
    

    第三题

    import pandas as pd
    # 导入数据
    df = pd.DataFrame(columns=['姓名', '语文', '数学', '英语', '物理'])
    df.loc[len(df)] = ['郭靖', 126.5, 130, 123, 78]
    df.loc[len(df)] = ['杨过', 118.5, 116.5, 137, 75]
    df.loc[len(df)] = ['段誉', 123.5, 124.5, 125, 74]
    df.loc[len(df)] = ['虚竹', 120.5, 124.5, 121, 76]
    df.loc[len(df)] = ['萧峰', 123.5, 114.5, 138, 58]
    df.loc[len(df)] = ['令狐冲', 120.5, 117, 130, 75.5]
    df.loc[len(df)] = ['叶开', 132, 119, 133, 66.5]
    df.loc[len(df)] = ['楚留香', 120, 124.5, 132.5, 68]
    df.loc[len(df)] = ['胡铁花', 118, 125, 130, 70]
    df.loc[len(df)] = ['叶孤城', 121, 122.5, 114, 71.5]
    # 求出总分和平均分
    add_df = df.iloc[:, 1:].agg(['sum', 'mean']).rename({'sum': '各科总分', 'mean': '各科平均分'})
    # 导出到excel
    add_df.to_excel(r'd:\python1\score.xlsx')
    

    第四题,使用KNN对iris数据进行分类:

    from sklearn import neighbors
    from sklearn import datasets
    
    knn = neighbors.KNeighborsClassifier()
    # 导入iris数据集
    iris = datasets.load_iris()
    
    knn.fit(iris.data, iris.target)
    #对数据集进行拟合
    
    predict_label =knn.predict([[0.1, 0.2, 0.3, 0.4]])
    print(predict_label)#对数据进行预测
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月29日
  • 已采纳回答 7月29日
  • 修改了问题 7月29日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢