Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 44

Преобразование массивов

03.05.2021, 01:06. Показов 535. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи! Возник такой вопрос:

У меня есть три массива типа np.array в первом находятся индексы строк, во втором индексы столбцов, в последнем значения. То есть по сути это координатный формат записи разреженной матрицы. Проблема в том, что они не преобразованы, а именно может быть такая ситуация:

row = [0,0,0,0]
col = [0,0,0,0]
val = [1,2,3,4]

Для построения матрицы мне нужно просуммировать все значения, чтобы была такая ситуация:
row = [0]
col = [0]
val = [10]

И так, соответственно, для всех элементов, чтобы в итоге в матрице на определенной позиции стояла сумма всех элементов с этими индексами.

Вопрос следующий: можно ли это сделать без постоянного перебора всех элементов в массивах? Массивы достаточно большие, с постоянным перебором тратиться очень много времени. Если нельзя, то как можно оптимизировать перебор?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2021, 01:06
Ответы с готовыми решениями:

Все элементы данных массивов поделить на значение наибольших элементов этих массивов
все элементы массивов в(40) и с(70) поделить на значение наибольших элементов этих массивов в python

преобразование массивов
дан файл F компонентами которого являются целочисленные массивы A(8) необходимо преобразовать каждый из массивов заменив элементы с...

преобразование массивов
Дан массив А(20). 1.Преобразовать его в двумерный массив В(4,5) 2. Если элементы каждой четной строки представляет неубывающую...

2
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
03.05.2021, 06:04
ts__777,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
import numpy as np
val = np.array([1,2,3,4])
row = np.array([0,0,0,0])
col = np.array([0,0,0,0])
df = pd.DataFrame(np.column_stack((row,col,val)), columns = ['row','col','val'])
print(df)
print()
 
# 1.
res = df.groupby(['row','col'])['val'].sum().reset_index()
print(res)
print()
 
#2.
res = df.pivot_table(index=['row','col'], aggfunc='sum').reset_index()
print(res)
print()
 
# если нужно вернуть привычный формат
row = res['row'].to_numpy()
col = res['col'].to_numpy()
val = res['val'].to_numpy()
print(row,col,val)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
03.05.2021, 07:18
Python
1
2
3
4
5
6
7
8
import numpy as np
val = np.array([1,2,3,4])
row = np.array([0,0,0,1])
col = np.array([0,0,0,0])
coord=np.vstack((row, col))
u, indices = np.unique(coord, return_inverse=True, axis=1)
val=np.bincount(indices, weights=val)
row, col=np.vsplit(u, 2)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2021, 07:18
Помогаю со студенческими работами здесь

преобразование массивов
помогите с задачей!!! Составить программу,которая преобразует массивы А(1..10) и В(1..12) слудующим образом: элементы, меньшие...

Преобразование массивов
Помогите пожалуйста сделать задачку: Преобразовать одномерный массив(10 элементов) в массив массивов в каждом из которых числа будут идти...

Преобразование массивов
Составить программу, которая переставляет массивы А и В следующим образом: для кождого из них все отнимающие элементы одномерного массива...

преобразование массивов
Помогите пожалуйста с преобразованием массива. есть 3 задачи где нужно преобразовать массив: 1 даны массивы а b. Для каждого массива ...

Преобразование массивов
1)Составить программу, которая преобразует массивы А(1..10) и В(1..12) следующим образом: элементы, меньшие среднего арифметического всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru