python中如何提取一组数据中的第一列数据

Python010

python中如何提取一组数据中的第一列数据,第1张

概述

直接提取会报错,把array数组转换成list,即可提取,使用numpy转换

步骤详解

1、直接提取尝试:

group=[[1,2],[2,3],[3,4]]

#提取第一列元素

print(group[:,1])

#Out:TypeError: list indices must be integers or slices, not tuple

2、使用numpy转换:

import numpy as np

group=[[1,2],[2,3],[3,4]]

#numpy转化

ar=np.array(group)

print(ar[:,1])

#Out:[2 3 4]

拓展内容

numpy详解

Numpy对象是数组,称为ndarray 

维度(dimensions)称作轴(axes),轴的个数叫做秩(rank)。注:有几级中括号就有几个维度

一、ndarray.attrs:

ndarray.ndim 秩

ndarray.shape 例如一个2排3列的矩阵,它的shape属性是(2,3)

ndarray.size 数组元素的总个数

ndarray.dtype 元素类型,NumPy提供自己的数据类型

ndarray.itemsize 数组中每个元素的字节大小

二、数组创建函数:

array

asarray将输入转换成ndarray

arange

ones

zeros

empty 只分配内存空间不填充任何值

eye 创建N*N单位矩阵(对角线为1)

三、数组和标量之间的运算

numpy数组的一个特点,不用编写循环就可对数据执行批量运算,这通常称作矢量化(vectorization)。

四、基本的索引和切片

numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。这里我仅详细介绍常用的方法,对于高级功能的方式我列举名称,读者可以等到要用的时候自行查阅资料。

def sort(a):

    for k in range(len(a)):

        (a[k][0],a[k][1]) = (a[k][1],a[k][0])

    a.sort()

    for k in range(len(a)):

        (a[k][0],a[k][1]) = (a[k][1],a[k][0])

a = [[1,2,4],[6,5,6],[2,5,9]]

sort(a)

print(a)

第一个问题:查询两个list中第一列元素

element_1 = list1[0]

element_2 = list2[0]

print("list1中第一列元素:{e1}, \n ,list2中第一列元素:{e2}".format(e1 = element_1, e2 = element_2))

第二个问题:查询两list中第一列一样的元素(思路就是遍历list2,然后将list2中与list1元素一样的元素打印出来,用if in判断即可)

for i in element_2:

if i in element_1:

print(i)

第三个问题:查询两lits中第一个list中第一列存在而第二个list中第一列不存在的(思路与第二问类似,用if not in判断即可,只是这里需要两个list相互判断)

for i in element_1:

if i not in element_2:

print(i)

for j in element_2:

if j not in element_1:

print(j)