在python中向ndarray添加一个额外的列

时间:2017-09-06 02:53:48

标签: numpy

我有一个ndarray如下。

feature_matrix = [[0.1, 0.3], [0.7, 0.8], [0.8, 0.8]]

我有一个位置ndarray如下。

position = [10, 20, 30]

现在我想在feature_matrix的开头添加位置值,如下所示。

[[10, 0.1, 0.3], [20, 0.7, 0.8], [30, 0.8, 0.8]]

我在这里尝试了答案:How to add an extra column to an numpy array

E.g.,

feature_matrix = np.concatenate((feature_matrix, position), axis=1)

但是,我得到的错误是;

ValueError: all the input arrays must have same number of dimensions

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

这解决了我的问题。我使用了np.column_stack。

feature_matrix = [[0.1, 0.3], [0.7, 0.8], [0.8, 0.8]]
position = [10, 20, 30]
feature_matrix = np.column_stack((position, feature_matrix))

答案 1 :(得分:0)

<dependencies> <dependency> <groupId>com.storage</groupId> <artifactId>client</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.group.id</groupId> <artifactId>webapp</artifactId> <version>${project.version}</version> <classifier>classes</classifier> <type>jar</type> </dependency> <dependency> <groupId>com.group.id</groupId> <artifactId>webapp</artifactId> <version>${project.version}</version> <type>war</type> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> 数组的形状与position的形状不一致。

feature_matrix

解决方案是(>>> feature_matrix array([[ 0.1, 0.3], [ 0.7, 0.8], [ 0.8, 0.8]]) >>> position array([10, 20, 30]) >>> position.reshape((3,1)) array([[10], [20], [30]]) ):

np.concatenate

>>> np.concatenate((position.reshape((3,1)), feature_matrix), axis=1) array([[ 10. , 0.1, 0.3], [ 20. , 0.7, 0.8], [ 30. , 0.8, 0.8]]) 在你的情况下显然很棒!