Steven's Blog

A Dream Land of Peace!

Numpy的一些数据处理备忘

记录numpy中的一些数据处理的方法.

比如我们通过如下的方式,获取到了iris的数据,

1
2
3
4
5
6
7
8
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)

df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']

如果我们想要去取第一列,第二列,和最后一列(label), 可以使用如下的方式:

1
data = np.array(df.iloc[:100, [0, 1, -1]])

df.shape(150, 5), data.shape(100, 3)

data 现在是lists in list 的一个ndarray

如果我们想要去取data的每行的前两列, 还有最后一列,可以使用如下的方式:

1
X, y = data[:, :-1], data[:, -1]

X, y 都是 ndarray. x.shape(100, 2), y.shape(100,)

如果要对标签进行二分类,我们可以使用 python 的 list comprehension:

1
y = np.array([1 if i == 1 else -1 for i in y])

这样处理了之后,y 的 shape 还是跟之前是一样的.