我该如何处理numpy列?

2024-06-01 10:54:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个尺寸为216 x 3的numpy数组。有没有一种类似Python的方法把这些“柱子”连在一起?由于这些不是真正的专栏,我不知道如何处理这个问题。非常感谢

我的数据示例:

print(Allcombos)
    SSU MSU LSU
    SSU MSU LU
    SSU MSU LWU
    SSU MSU LWD
    SSU MSU LD

我的期望输出:

SSUMSULSU
SSUMSULU
SSUMSULWU
SSUMSULWD
SSUMSULD

Tags: 数据方法numpy示例尺寸数组printlu
3条回答

您可以像这样使用numpy.column_stack

import numpy as np

array = np.ones([216,3], dtype=str)
result = np.column_stack((array[:,0],array[:,1],array[:,2]))
print(result)

输出:

[['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
 ['1' '1' '1']
...

为了简单起见,本例使用了一个包含多个数组的数组,但在您的用例中,相同的方法也会同样适用

将NumPy数组转换为pandas数据帧并执行列连接。如果需要,可以转换回NumPy数组

import pandas as pd
df=pd.DataFrame(np_array, columns=['column1', 'column2']
df['new_column']=df['column1']+df['column2']

#if you want numpy array

np_values=df['new_column'].values
arr=np.array([['SSU' ,'MSU','LSU'],
              ['SSU', 'MSU', 'LU'],
              ['SSU', 'MSU', 'LWU']]
            )
arr1=[]
for i in arr:
    arr1.append("".join(i))

输出

['SSUMSULSU', 'SSUMSULU', 'SSUMSULWU']

相关问题 更多 >