用到的函数
numpy.random.permutation
随机排列一个序列,返回一个排列的序列。
>>> np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
np.random.permutation([1, 4, 9, 12, 15])
array([15, 1, 9, 4, 12])
arr = np.arange(9).reshape((3, 3))
np.random.permutation(arr)
array([[6, 7, 8],
[0, 1, 2],
[3, 4, 5]])
iloc
Pandas中的 iloc 是用基于整数的下标来进行数据定位/选择
iloc 的语法是 data.iloc[
在iloc中一共有 2 个 “参数” -行选择器 和 -列选择器,例如:
# 使用DataFrame 和 iloc 进行单行/列的选择
# 行选择:
data.iloc\[0\] # 数据中的第一行
data.iloc\[1\] # 数据中的第二行
data.iloc\[-1\] # 数据中的最后一行
# 列选择:
data.iloc\[:, 0\] # 数据中的第一列
data.iloc\[:, 1\] # 数据中的第二列
data.iloc\[:, -1\] # 数据中的最后一列
行列混合选择
iloc 同样可以进行和列的混合选择,例如:
# 使用 iloc 进行行列混合选择
data.iloc\[0:5\] # 数据中的第 1-5 行
data.iloc\[:, 0:2\] # 选择数据中的前2列和所有行
data.iloc\[\[0, 3, 6, 24\], \[0, 5, 6\]\] # 选择第 1,4,7,25行 和 第 1,6,7 列
data.iloc\[0:5, 5:8\] # 选择第1-6行 和 6-9列
使用 iloc 注意以下两点:
如果使用iloc只选择了单独的一行会返回 Series 类型,而如果选择了多行数据则会返回 DataFrame 类型,如果你只选择了一行,但如果想要返回 DataFrame 类型可以传入一个单值list.
当你使用 [1:5] 这种语法对数据进行切片的时候,要注意只选择了 1,2,3,4 这 4 个下标,而 5 并没有被包括进去,即使用[x:y]选择了下标从 x 到 y-1 的数据
实际工作中,其实很少用到 iloc ,除非你想选择第一行( data.iloc[0] ) 或者 最后一行( data.iloc[-1] )
.
手机扫一扫
移动阅读更方便
你可能感兴趣的文章