pandas一些基本操作(DataFram和Series)_2
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 举证积操作 ##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的更多相关文章
- 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 ...
- Pandas系列(一)-Series详解
一.初始Series Series 是一个带有 名称 和索引的一维数组,既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数.浮点.字符串.Python对象等. ...
- pandas模块(数据分析)------Series
pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. pandas的主要功能: 具备对其功能的数据结构DataFrame.Series 集成时间序列功能 提供丰 ...
- 小白学 Python 数据分析(3):Pandas (二)数据结构 Series
在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...
- Pandas初体验之数据结构——Series和DataFrame
Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具. 对于Pandas包,在Python中常见的导入方法如下: from pandas im ...
- pandas一些基本操作(DataFram和Series)_3
import pandas as pd;import numpy as np#通过一维数组创建Chinese = np.array([89,87,86])print(Chinese)print(pd. ...
- pandas一些基本操作(DataFram和Series)_1
##生成一个一维数组import numpy as np;nb7 = np.arange(0,100,2);print(nb7)print("======================== ...
- 机器学习初入门02 - Pandas的基本操作
之前的numpy可以说是一个针对矩阵运算的库,这个Pandas可以说是一个实现数据处理的库,Pandas底层的许多函数正是基于numpy实现的 一.Pandas数据读取 1.pandas.read_c ...
- pandas(一)操作Series和DataFrame的基本功能
reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 >>> series_obj = Series([4. ...
随机推荐
- Binary XML file line #23: Error inflating class android.widget.TextView
分析一波,报错23行TextView的问题,但是检查了xml没有发现23行又TextView相关代码,就不应该继续纠结xml了,代码是通过R文件拿到xml资源的,你就应该怀疑是R文件的问题,R文件编译 ...
- thjinkphp 变量调试
输出某个变量是开发过程中经常会用到的调试方法,除了使用php内置的var_dump和print_r之外,ThinkPHP框架内置了一个对浏览器友好的dump方法,用于输出变量的信息到浏览器查看. 大理 ...
- 「题解」:$e$
问题 B: $e$ 时间限制: 2 Sec 内存限制: 512 MB 题面 题面谢绝公开. 题解 话说一天考两个主席树这回事…… 正解可以叫树上主席树??(脸哥说也叫主席树上树???) 对于树上的每 ...
- Mybatis笔记 – insert语句中主键的返回
在DBMS中可以使用insert语句显示指定自增主键值,但Mybatis中不可,即使指定了也无效,可以使用特殊的方式返回主键. 一.自增主键返回 mysql自增主键执行insert提交 ...
- SpringBoot--外部配置
常见的SpringBoot外部配置有常规属性配置.类型安全的配置.日志配置.Profile配置 一.常规属性配置 在spring中,注入properties中的配置值时,需要两步: 通过注解@Prop ...
- IMS Call中的SS
1Hold procedure:对于每一个被HOLD的媒体流,SDP包含: 如果流之前被设置为“recvonly”媒体流则是一个“不活动”的SDP属性: 如果先前将流设置为“sendrecv”媒体流则 ...
- ArrayList 和linkedList 插入比较
从学Java开始, 就一直大脑记着 arrayList 底层是数组 ,查询快, 插入慢, 有移动的动作.linkedList 底层链表, 插入快 查询慢,今天写了例子跑了跑, 果然. public ...
- python语句结构(if判断语句)
一.python语句结构分类 条件控制语句:if 语句 if....elif语句 if嵌套 循环语句:while语句 for循环 控制语句:break.continue.pass语句 二.pyt ...
- 2019-5-21-Total-Commander-显示文件包含文件名扩展
title author date CreateTime categories Total Commander 显示文件包含文件名扩展 lindexi 2019-5-21 11:37:6 +0800 ...
- vue中 给router-view 组件的 绑定 key 的原因
不设置 router-view 的 key 属性 由于 Vue 会复用相同组件, 即 /page/1 => /page/2 或者 /page?id=1 => /page?id=2 这类链接 ...