Python随机取一个矩阵数组的某几行

import numpy as np

array = np.array([0, 0])
for i in range(10):
    array = np.vstack((array, [i+1, i+1]))
print(array)
# [[ 0  0]
#  [ 1  1]
#  [ 2  2]
#  [ 3  3]
#  [ 4  4]
#  [ 5  5]
#  [ 6  6]
#  [ 7  7]
#  [ 8  8]
#  [ 9  9]
#  [10 10]]

rand_arr = np.arange(array.shape[0])

np.random.shuffle(rand_arr)
print(array[rand_arr[0:5]])
# [[9 9]
#  [4 4]
#  [1 1]
#  [5 5]
#  [8 8]]
np.random.shuffle(rand_arr)
print(array[rand_arr[0:5]])
# [[10 10]
#  [ 3  3]
#  [ 4  4]
#  [ 8  8]
#  [ 5  5]]

 

### Python 中多列索引方法 对于 `NumPy` 和 `Pandas` 的数组或多维数据结构,可以通过多种方式进两列或更多列的索引。 #### 使用 NumPy 进二维数组的多列索引 当涉及到对 `NumPy` 数组多列索引时,可以利用高级索引来实现这一目标。下面展示了如何特定的列组合: ```python import numpy as np # 创建一个4x5的随机整数矩阵 matrix = np.random.randint(0, 100, size=(4, 5)) print("原始矩阵:") print(matrix) row_indices = [0, 2] # 索引列表 column_indices = [1, 3] # 列索引列表 selected_elements = matrix[row_indices][:, column_indices] print("\n定元素(第0和第2,第1和第3列):") print(selected_elements) ``` 上述代码片段中,先择了指定的几行,再从中挑所需的若干列[^4]。 #### 使用 Pandas 对 DataFrame 执多列索引 在 `Pandas` 库里,如果要访问 `DataFrame` 中多个不同位置的数据项,则可通过 `.loc[]` 或者 `.iloc[]` 方法完成此操作。前者基于标签定位而后者依赖于整型位置编号来进择。 ```python import pandas as pd data_frame = pd.DataFrame({ 'A': ['foo', 'bar', 'baz'], 'B': [1, 2, 3], 'C': [4.5, 6.7, 8.9], 'D': ['red', 'green', 'blue'] }) print("原始DataFrame:") print(data_frame) result_df = data_frame.loc[[0, 2], ['B', 'D']] print("\n提的结果(第0和第2,'B'和'D'列):") print(result_df) ``` 这里使用了 `.loc[]` 来按照号与列名相结合的方式获子集[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值