Python数据处理函数汇总【numpy】

注:本文是对使用Python进行数据处理时常用的函数进行总结。
array的一些简单用法(再也不想用一次查一次了)

排序及索引

import numpy as np
a = np.arange(100)
b = sorted(a)
a.sort()
# 上述b是对a排序之后的新数组,a对象直接调用sort方法则直接在原数组上进行修改,利用参数reverse = False可以更改为从大到小排序

# 想要得到排序列表在原来列表的索引可以调用argsort方法,这里默认给的是从小到大排序及其索引
sort_index = np.argsort(a)
sort_index = np.argsort(-a) #这里表示的是得到从大到小的索引

采样(等概率和不等概率)

import numpy as np
seed = np.random.randint(0, 100)
# 产生0到100的随机数,左闭右开,等概率

seed = np.random.choice(a, replace = False, p = None)
# 想要不等概率抽样就更改p列表的值

列表随机排序(常用在打乱数据中)

random.shuffle(lista)

数组操作(ndarray)创建和索引

import numpy as np
a = np.zeros((3, 4))
b = np.ones((3, 4))
c = np.array([[1, 2, 3], [4, 5, 6]])
a[:, 2]
a[2, 1]
a[3, :]
c = copy.deepcopy(array) #数组深拷贝,开辟了一块新内存,新数组值更改不改变原数组

数组求和

直接调用numpy库中的sum函数

import numpy as np
A = np.array([[1,2,1], [2,3,1]])
np.sum(A)
# 所有元素求和

np.sum(A, axis=0)
# 求列和

np.sum(A, axis=1)
# 求行和

数组拼接

# 拼为多列
x_train = np.column_stack((data_train[:, 0], x_train2, x_train3, x_train4, data_train[:, 4:39]))
# 拼为多行
x = np.row_stack((x_train, x_test))

独热编码转变

enc = OneHotEncoder(sparse=False)
x_train2 = enc.fit_transform(data_train[:, colums[0]].reshape(-1, 1))

ndarray操作起来用的是方法不是函数

a[:,0].max()
a[:,0].min()

MATLAB的.mat文件和Python的转换

使用函数:scipy.io.loadmat(filename)

from scipy.io import loadmat
file = 'brake_limit.mat'
data = loadmat(file, mat_dtype=True)
print(data.keys())
# 存储的数据是字典,key 键,values 值,items 键值对。
diatance_brake = data['distance_brake']
speed_brake = data['speed_brake']

参考链接:

np.random.choice的具体用法:https://blog.csdn.net/ImwaterP/article/details/96282230
MATLAB的.mat文件和Python的转换:https://blog.csdn.net/kaever/article/details/105339388

posted @ 2021-10-15 16:51  芋圆院长  阅读(136)  评论(0编辑  收藏  举报