python取数组某几行或某几列

没有检索到摘要

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逗号前是取行,逗号后是取列
取某行
X[0] #取第0行
X[0,:] #取第0行,:后面空表示该行取所有列的元素
X[0:m] #取第0至第m-1行
取某列

  1. X[:,0] #取第0列 X[:,-1] #取倒数第一列 ,:前面空表示该列取所有行的元素
  2. X[:,m:n] #取第m到第n-1列
    例:
    X[:,0:1] #取第0到第1列
    X[:,0:-1] #取第0到倒数第二列(-1表示倒数第一列,区间是到它的前一列)

根据标签提取样本:
例:

>>> X=np.array([[1,2,3,"labeled"],[5,6,7,"labeled"],[9,10,11,"labeled"],[13,14,15,"unlabeled"],[17,18,19,"unlabeled"]])
>>> X
array([['1', '2', '3', 'labeled'],
       ['5', '6', '7', 'labeled'],
       ['9', '10', '11', 'labeled'],
       ['13', '14', '15', 'unlabeled'],
       ['17', '18', '19', 'unlabeled']], dtype='<U11')
>>> Y=X[:,-1]
>>> Y
array(['labeled', 'labeled', 'labeled', 'unlabeled', 'unlabeled'],
      dtype='<U11')
>>> index = Y != "unlabeled"
>>> index
array([ True,  True,  True, False, False])
>>> X[index]
array([['1', '2', '3', 'labeled'],
       ['5', '6', '7', 'labeled'],
       ['9', '10', '11', 'labeled']], dtype='<U11')
>>>
### 使用 Python Pandas 读 Excel 文件特定行列的数据 #### 创建 DataFrame 并选择特定列 为了从 Excel 文件中读指定的列,可以利用 `pandas` 库中的 `read_excel()` 函数并设置参数 `usecols` 来指明所需的列索引名称。当不需要保留原始表头时,可以通过设定 `names=None` 和 `header=None` 参数来忽略它们。 对于只提第4列和第7列的情况: ```python import pandas as pd # 定义文件路径 file_path = "目标Excel文件路径.xlsx" # 只选第4列(即index=3)和第7列(index=6),不加载任何列名 df_selected_columns = pd.read_excel(file_path, usecols=[3, 6], header=None) print(df_selected_columns) ``` 此段代码会创建一个新的DataFrame对象 `df_selected_columns` ,其中仅包含来自源工作簿的第四列和第七列的内容[^1]。 #### 将选定数据转换为列表形式 如果希望进一步处理这些数据将它们存储在一个简单的Python列表结构内,则可调用 `.values.tolist()` 方法完成这一操作: ```python data_list = df_selected_columns.values.tolist() print(data_list) ``` 这段脚本将会把之前获得的两列数据转化为二维数组的形式,并打印出来以便查看结果。 #### 获整个工作表的最大行数与最大列数 有时了解所处理的工作表尺寸也是必要的,在这种情况下,可以在导入之后通过访问属性 `shape` 获得相关信息: ```python max_rows, max_cols = df.shape print(f"最大行数: {max_rows}, 最大列数: {max_cols}") ``` 上述命令能够返回当前DataFrame的实际大小,这对于后续分析可能有所帮助[^2]。 #### 提单个单元格多行多列组合 除了单独挑选某些列之外,还可以灵活运用切片语法以及布尔掩码等方式精确控制所需范围内的元素。比如要获第三行至第五行之间第二列到第六列之间的所有数值,可以用如下方式实现: ```python specific_data = df.iloc[2:5, 1:6] print(specific_data) ``` 这里使用了`.iloc[]`方法来进行基于位置的选择;注意这里的索引是从零开始计数的,因此实际表示的是原表格里的第三行到第五行、第二列到第六列区域内的全部内容[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值