Как объединить вектор символов с квадратной матрицей

У меня есть матрица расстояний в виде:

0   0.81556 0.87214 0.6861
0.81556 0   0.17909 0.33358
0.87214 0.17909 0   0.47373
0.6861  0.33358 0.47373 0

и вектор строки:

A
B
C
D

и я хочу получить следующую конкатенацию:

A   0   0.81556 0.87214 0.6861
B   0.81556 0   0.17909 0.33358
C   0.87214 0.17909 0   0.47373
C   0.6861  0.33358 0.47373 0

Проблема здесь в том, что как только вектор строк объединяется, вся матрица преобразуется в строку, и этого не должно быть.

вот функция, которую я использую до сих пор:

"" Generates the random matrix based on the dimensions of the input matrix being compared"""
def generateMatrix(N): # N -> (x,y,z) or (x,y)

    labels =[]

    # creates random matrix with NxN dimmensions
    rn_matrix = np.random.uniform(0.0,5.0,N)  

    # computes Distance matrix 
    adist = squareform(pdist(rn_matrix)) 


    # Generates the labels vector for the random matrix 
    # it should generate the letters and insert them in the first column
    for i in range(N[0]):
        letter = random.choice("MLN")
        labels.append(letter)

    # random distance matrix with labels in it 
    # labels_df = pd.DataFrame({'arg1':np.array(labels)})
    # adist_df = pd.DataFrame(data=adist,index=list(range(15)),columns= list(range(15)))
    distance_matrix = np.c_[labels, adist]   
    # df = pd.concat(labels_df,adist_df) 
    print(distance_matrix)

    # filename assigned
    outfilename = "rn_distance_matrix.csv"

    # stores the distance matrix in a csv format
    # outfile = np.savetxt( outfilename, distance_matrix, delimiter = ",")
    distance_matrix.to_csv(outfilename,index = False)
    # returns the name of the file where the distance matrix is stored
    return(outfilename)

Какой код вы пробовали до сих пор? Как именно ваши данные хранятся в вашем скрипте - внутри скрипта или в файле?

N Chauhan 10.08.2018 00:21

Это множественные векторы и матрицы или ванильный питон?

saketk21 10.08.2018 00:21

Если вам требуется только обработка и они не будут обновляться позже, вы можете использовать zip(vector, matrix), чтобы получить желаемый результат.

saketk21 10.08.2018 00:24

уже решил!

Wendy Velasquez 10.08.2018 01:07
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
49
0

Другие вопросы по теме