如何从一维数组中提取一个特定的列

如何从一维数组中提取一个特定的列

在这篇文章中,我们将介绍如何在Python中从一维数组中提取一个特定的列。

示例

Input: [(18.18,2.27,3.23),(36.43,34.24,6.6),(5.25,6.16,7.7),(7.37,28.8,8.9)]

输出: [3.23, 6.6 , 7.7 , 8.9 ]

解释:从一维图元数组中提取第三列。

方法1: 使用切片的方法

作为第一步,让我们首先定义一个一维图元数组,每个图元有3个元素,如果我们把这3个元素看作是3个列,我们可以使用切片技术来提取一个特定的列。

import numpy as np
 
# define a 1d array of tuples
arr = np.array([(18.18, 2.27, 3.23), (36.43, 34.24, 6.6),
                (5.25, 6.16, 7.7), (7.37, 28.8, 8.9)])
 
# slice the array by passing the
# column number
arr[:, 2]

输出:

array([3.23, 6.6 , 7.7 , 8.9 ])

方法2:使用lambda函数

在这个例子中,我们采取的是一个pandas数据框架,其中一列是一个图元数组,我们可以对该特定列进行切分,并应用lambda函数从数组的图元中提取一个特定列。

import numpy as np
import pandas as pd
 
data = pd.DataFrame({'approval': [10, 20, 30, 40, 50],
                     'temperature': [(18.18, 2.27, 3.23),
                                     (36.43, 34.24, 6.6),
                                     (5.25, 6.16, 7.7),
                                     (7.37, 28.8, 8.9),
                                     (12, 23, 3)]})
 
res = data['temperature'].apply(lambda x: x[2]).values
 
print(data)
print(res)

输出:

   approval          temperature
0        10  (18.18, 2.27, 3.23)
1        20  (36.43, 34.24, 6.6)
2        30    (5.25, 6.16, 7.7)
3        40    (7.37, 28.8, 8.9)
4        50          (12, 23, 3

The output for extracting 3rd column from the array of tuples
[3.23 6.6  7.7  8.9  3.  ]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程