1. import numpy as np
    arr1 = np.arange(32).reshape(8,4)
    print(arr1)
    arr1 = arr1.reshape(-1);
    print(arr1)
    arr2 = np.logspace(1,8,8,base=2).reshape(8,1)
    print(arr2)
    ##数组广播的规律,要么两个维度相同,要么某一个维度为1
    ##矩阵积为dot A np的行乘以B np的列的和,所以行列要一致。
    arr3 = [[15930.2,244.2],
    [8111.87,148.87],
    [13722.46,221.1]]
    arr3 = np.array(arr3,float);
    print(arr3.dtype)
    ##利用切片取数组
    print(arr3[:,0])
    print("======================================")
    print(arr3[[0,2]])
    print("======================================")
    print(arr3[[0,2],[1,1]])
    print("======================================")
    ##取多行多列,使用np的索引器,np.ix_(m,n)
    print(arr3[np.ix_([0,2],[1])])
    ##数组转置
    arr3 = [[15930.2,244.2],
    [8111.87,148.87],
    [13722.46,221.1]]
    arr3 = np.array(arr3)
    print(arr3.T)
    xiaoming_score=np.array([100,60,50,65])
    #取不及格分数
    print(xiaoming_score >= 60)
    condition = xiaoming_score >= 60
    print(xiaoming_score[condition])#取出对应的数,多维同样适用,会降低到一维数据
    xiaoming_score2=np.array([[100,60,50,65],[20,30,40,50]])
    print(xiaoming_score2.transpose())#数组的转置和轴兑换
    ##数组的拉伸和合并 (如果reps参数只写一个数值为横向拉伸的倍数,如果使用[m,n] m为纵向 n为横向拉伸的倍数)
    print(np.tile(xiaoming_score2,[2,1]))
    print("===================================================")
    ##合并操作
    xiaoming_2_score = np.array([[90,90,90,90],[88,88,88,88]])
    print(np.stack([xiaoming_score2,xiaoming_2_score],axis=0))#沿着某一个轴合并 0是两块合并 1是拆快合并 2是拿对应个数合并
    print("===================================================")
    ##堆叠操作
    print(np.vstack([xiaoming_score2,xiaoming_2_score]))
    print(np.hstack([xiaoming_score2,xiaoming_2_score]))
    ##np 的函数操作
    print("===================================================")
    arry2 = np.random.randint(-10,10,[3,4])
    print(arry2)
    #绝对值
    print(np.fabs(arry2))
    print(np.sqrt(arry2))#开方
    print(np.square(arry2))#平方
    #exp #计算各个元素的指数e的x次方
    #log10 log2 log1p
    arr3 = np.arange(1,11)
    print(arr3)
    print(np.log2(arr3))#相当于2为底,求arr3每个元素的多少次方等于每个位置元素 eg:1=2^x log就是e为底
    #np.log1p 以1+x为真数e为底的对数
    #以5为底 可以利用换底公式
    arry4 = np.log2(arr3)/np.log2(5)
    print(arry4)
    #ceil 向上取整 floor 向下取整
    np.floor(arry4)
    print(np.floor(arry4))
    #四舍五入 np.rint
    #保留几位小数 np.around(arr4,decumals=2)
    #modf 把小数拆开成两个数组,返回小数位和整数位
    #判断元素是否是nan isnan 可以用布尔值索引取出数组中nan ~取反操作
    #np.isfinite 是否有穷数 isinf(inf 是无穷数)
    #mod
    arr6 = np.arange(10)
    print(arr6)
    print(np.mod(arr6,3))
    #dot 举证积操作
  2.  
  3. ##eg:np.greater(arr5,arr6) less equal less_equal not_equal
    np.power(arr6,3)#几次方
    score = np.array([
    [80,90,87,56,77],
    [55,45,87,90,98],
    [100,12,100,89,77],
    [77,33,87,79,60]
    ])
    print(score)
    print(np.amax(score))#求成绩的最高分
    print(np.amax(score,axis=0))#竖向求最大
    print(np.amax(score,axis=1))#横向求最大
    print(np.mean(score,axis=1))#横向求平均分
    #方差和标准差
    #方差,np.mean(a-a.mean()**2)
    print(np.mean(np.square(score-np.mean(score))))
    print(np.var(score))
    ##再开方是标准差 std是直接求标准差
    random1 = np.random.randint(0,10,10)
    random2 = np.random.randint(0,10,10)
    print(random1)
    print(random2)
    cond = random1 > random2
    print([x if z else y for(x,y,z) in zip(random1,random2,cond)])#取较大数合并 多维对比合并用np.where(cond,random1,random2)
    #print(x,y,z)
    # np.unique 去除重复值
    arr10 = np.random.randint(0,5[5,5])
    print(arr10)
    np.unique(arr10)

pandas一些基本操作(DataFram和Series)_2的更多相关文章

  1. pandas一些基本操作(DataFram和Series)_4

    import numpy as np;import pandas as pd;kill_num=pd.Series([10,12,8,5,0,2,6])#击杀数量#青铜1200-2000#白银2001 ...

  2. Pandas系列(一)-Series详解

    一.初始Series Series 是一个带有 名称 和索引的一维数组,既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数.浮点.字符串.Python对象等. ...

  3. pandas模块(数据分析)------Series

    pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. pandas的主要功能: 具备对其功能的数据结构DataFrame.Series 集成时间序列功能 提供丰 ...

  4. 小白学 Python 数据分析(3):Pandas (二)数据结构 Series

    在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...

  5. Pandas初体验之数据结构——Series和DataFrame

    Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具. 对于Pandas包,在Python中常见的导入方法如下: from pandas im ...

  6. pandas一些基本操作(DataFram和Series)_3

    import pandas as pd;import numpy as np#通过一维数组创建Chinese = np.array([89,87,86])print(Chinese)print(pd. ...

  7. pandas一些基本操作(DataFram和Series)_1

    ##生成一个一维数组import numpy as np;nb7 = np.arange(0,100,2);print(nb7)print("======================== ...

  8. 机器学习初入门02 - Pandas的基本操作

    之前的numpy可以说是一个针对矩阵运算的库,这个Pandas可以说是一个实现数据处理的库,Pandas底层的许多函数正是基于numpy实现的 一.Pandas数据读取 1.pandas.read_c ...

  9. pandas(一)操作Series和DataFrame的基本功能

    reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 >>> series_obj = Series([4. ...

随机推荐

  1. Linux 系统版本查询命令

    .# uname -a (Linux查看版本当前操作系统内核信息) .# cat /proc/version (Linux查看当前操作系统版本信息) .# cat /etc/issue 或 cat / ...

  2. codeforces 1180E Serge and Dining Room 线段树

    题目传送门 题目大意: 给出a序列和b序列,a序列为各种食物的价格,b序列为一列排着队的小朋友拥有的钱,小朋友依次购买食物,每个人都买自己能买的起的最贵的食物,买不起就离开队伍.给出q次操作,操作1是 ...

  3. dex2jar+jd-gui反编译apk的使用方法

    1.将要反编译的APK后缀名改为.rar或 .zip,并解压 2.得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出 ...

  4. Windows中的"簇"和Linux中的"块"是对应的

    扇区是对硬盘而言,块是对文件系统而言. 簇”又称为“分配单元” ,文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文 ...

  5. Git 如何使用ssh上传或者同步/下载项目到github

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...

  6. drupal7 代码生成用户,并自动登录

    直接上代码 1. 生成用户(注册) $edit = [ "name" => "name", "pass" => "pa ...

  7. Batch - Windows Batch 常用命令

    比较符号(不能用 < , >) The reason operators like > are not used is because they have special meani ...

  8. Java 基础 - public、private、protected区别

    ref: https://www.cnblogs.com/pengfeiliu/p/3745934.html 类中的数据成员和成员函数据具有的访问权限包括:public.private.protect ...

  9. 【JZOJ1667】【BZOJ1801】【luoguP2051】中国象棋

    description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮.请问有多少种放置方法?中国象棋中炮的行走方式大家应该很清楚吧. analysis \(DP\),容 ...

  10. Jmeter使用:操作MySQL

    下载 mysql-connector-java-5.1.46-bin.jar 将驱动包引入测试计划(也可丢入Jmeter安装目录lib文件夹下)  新建配置元件JDBC Connection Conf ...