码迷,mamicode.com
首页 > 其他好文 > 详细

Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法

时间:2020-02-04 22:08:05      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:prompt   类型   div   矩阵   构造   val   访问   dataframe   size   

Numpy常用数据结构

 

1. 数组创建

In [ ]:
# 导入库
import numpy as np
In [ ]:
arr1 = np.array([-9,7,4,3])
In [ ]:
arr1
In [ ]:
arr2 = np.array([-9,7,4,3],dtype =float)# 尝试改变为int或者str
In [ ]:
print(arr2)
In [ ]:
arr3 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
In [ ]:
arr3
In [ ]:
# 使用其他函数创建数组
np.arange(0,10,1)   
In [ ]:等差
np.linspace(1,10,10)
In [ ]:零矩阵
np.zeros([4,5])
In [ ]:全是一的矩阵
np.ones([2,3])  
In [ ]:
arr3 + 1 #矩阵运算
 

2. 数组方法

In [ ]:
# 查看数组维度
arr3.ndim 
In [ ]:几行几列
arr3.shape
In [ ]:里面的元素个数
arr3.size
In [ ]:里面的元素类型
arr3.dtype
In [ ]:
arr3 + 1 #矩阵运算
In [ ]:
arr3 /2
In [ ]:
data2 = ((8.5,6,4.1,2,0.7),(1.5,3,5.4,7.3,9),(3.2,4.5,6,3,9),(11.2,13.4,15.6,17.8,19))
arr2 = np.array(data2)
In [ ]:
arr2
In [ ]:
arr2[2] #访问第三行,可以理解为行索引
In [ ]:
arr2[2,1] #访问第三行,可以理解为行索引
In [ ]:
arr2[:,2:4] #访问第三列
In [ ]:
arr2[1:3] #2行和3行
In [ ]:
arr2[1:,2:] #第2行到最后一行,第3列到最后一列
In [ ]:
arr2[2,1] #访问第三行,第二个元素,第一个是行索引,第二个是列索引
In [ ]:和上面一个效果相同
arr2[2][1] #访问第三行,第二个元素,第一个是行索引,第二个是列索引
 

3. Numpy常用数据清洗函数

 
  • 排序
  • 降序建议用sorted函数
In [ ]:
s  = np.array([1,2,3,4,3,1,2,2,4,6,7,2,4,8,4,5])
In [ ]:
np.sort(s)
In [ ]:
sorted(s,reverse =True)#降序
In [ ]:
arr1 = np.array([[0,1,3],[4,2,9],[4,5,9],[1,-3,4]])
In [ ]:
arr1
In [ ]:
np.sort(arr1)
In [ ]:
np.sort(arr1,axis = 0) # 0代表沿着行的方向, 1代表沿着列的方向

arr1 = np.array([[0,1,3],[4,2,9],[4,5,9],[1,-3,4]])
对于这里的理解可以理解为矩阵的转制的概念,也就是013 429 459 1-34分别表示列向量
所谓行,就是每一个元素里面的第n个,比如这里的0,4,4,1
所谓列,就是一个元素里面的所有数,比如这里的0,1,3
In [ ]:
np.sort(arr1,axis = 1)
 
  • argsort返回的是排完序以后,在原数据中的索引位置
  • 返回的是数据中,从小到大的索引值
In [ ]:
s = np.array([1,2,3,4,3,1,2,2,4,6,7,2,4,8,4,5])
In [ ]:
np.argsort(s) 
 
  • np.where和np.extract
In [ ]:
np.where(s>3,1,-1)# 满足条件的,赋值为1,不满足的赋值为-1,返回的数据长度和s一样
 
np.where(s>3,s,-1)# 满足条件的,赋值为本身,不满足的赋值为-1,返回的数据长度和s一样
  • np.extract 只会输出满足条件的数据
In [ ]:
筛选
np.extract(s>3,s)# 只输出满足条件的数据
 

4. Pandas常用数据结构

 

series序列

In [ ]:
import pandas as pd
import numpy as np
In [ ]:
# 构造序列
series1 = pd.Series([2.8,3.01,8.99,8.59,5.18])
In [ ]:index就是索引,name是序列的名字
series2 = pd.Series([2.8,3.01,8.99,8.59,5.18],index = [‘a‘,‘b‘,‘c‘,‘d‘,‘e‘],name =‘这是一个series‘)
In [ ]:
series3 = pd.Series({‘北京‘:2.8,‘上海‘:3.01,‘广东‘:8.99,‘江苏‘:8.59,‘浙江‘:5.18})
这个时候中文的地方会变成索引,而后面分别跟者值
可以通过series3[0]
series3[‘北京‘]得到2.8
可以通过series3[0:3]得到‘北京‘:2.8,‘上海‘:3.01,‘广东‘:8.99。 左闭右开

可以通过series3[‘北京‘:‘江苏‘]得到之间所有的值      左闭右闭

 
In [ ]:
#series方法
series2.values   输出到是值
In [ ]:
series3.index        输出的是健
 

dafaframe

In [ ]:列表
# 构造数据框
#数据框其实就是一个二维表结构,是数据分析中,最常用的数据结构
list1 = [[‘张三‘,23,‘男‘],[‘李四‘,27,‘女‘],[‘王二‘,26,‘女‘]]#使用嵌套列表
df1 = pd.DataFrame(list1,columns=[‘姓名‘,‘年龄‘,‘性别‘])
In [ ]:
type(df1)
In [ ]:字典,键就是列标签
df2 = pd.DataFrame({‘姓名‘:[‘张三‘,‘李四‘,‘王二‘],‘年龄‘:[23,27,26],‘性别‘:[‘男‘,‘女‘,‘女‘]}) #使用字典,字典的键被当成列名
In [ ]:
df2
In [ ]:数组
array1 = np.array([[‘张三‘,23,‘男‘],[‘李四‘,27,‘女‘],[‘王二‘, 26,‘女‘]]) #使用numpy
df3 = pd.DataFrame(array1,columns=[‘姓名‘,‘年龄‘,‘性别‘],index = [‘a‘,‘b‘,‘c‘] )

行标签是index,列标签是columns
In [ ]:
#dataframe方法
所有的除标签外的值 df2.values
In [ ]:行标签
df2.index
In [ ]:列标签,这个只针对da ta f ra me有用
df2.columns
df2.columns.tolist()转变为列表的格式
In [ ]:数据的类型
df2.dtypes
In [ ]:维度
df2.ndim
In [ ]:多少个元素
df2.size
In [ ]:
 
df2.shape

Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法

标签:prompt   类型   div   矩阵   构造   val   访问   dataframe   size   

原文地址:https://www.cnblogs.com/xingnie/p/12259723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!