Создание ndarray из двух списков

Наги

Пользователь
Пользователь
Окт 25, 2020
74
5
8
Доброго времени суток всем!
Проблема у меня такая... может, я даже вообще неправильно ее понимаю, но опишу, как понимаю. ndarray - это же многомерный массив, как следует из документации... и могу ли я в него как-то добавить значения из двух списков? Мне вроде как надо создать один объект - ndarray - который будет содержать данные по временам (список 1) и данные по отсчетам в эти времена (список 2), то есть это как бы пары: время - значение... ну, это я так вижу. И потом этот полученный ndarray мне надо будет в функцию передавать, чтобы она по данным строила одну специальную гистограмму. Соответственно, 2 списка в эту функцию я передать на могу, там прямо написано, что принимает она 1 ndarray. И вот... как мне его сделать?
На всякий случай напишу сюда ту часть кода, которую сделала - по составлению двух списков из данных файла. И файл приложу.

Python:
t = []
x = []
with open('data_n8.txt', 'r') as f:
    for line in f:
        data_list = line.split()

        midtime = (float(data_list[0]) + float(data_list[1])) / 2
        time = t.append(midtime)
        var = x.append(float(data_list[3]))

print(t)
print(x)
 

Вложения

  • data_n8.txt
    32 КБ · Просмотры: 1

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
ndarray - это базовый тип, и для вашей задачи он не нужен напрямую
в документации написано что массивы должны создаваться методами array, zeros или empty - https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html второй абзац

то есть вот так
Python:
import numpy as np

t = []
x = []
with open('data_n8.txt', 'r') as f:
    for line in f:
        data_list = line.split()

        midtime = (float(data_list[0]) + float(data_list[1])) / 2
        time = t.append(midtime)
        var = x.append(float(data_list[3]))

# print(t)
# print(x)

narr = np.array([t, x])

print(narr)
print(type(narr))  # <class 'numpy.ndarray'>
 
  • Мне нравится
Реакции: Наги

Наги

Пользователь
Пользователь
Окт 25, 2020
74
5
8
ndarray - это базовый тип, и для вашей задачи он не нужен напрямую
в документации написано что массивы должны создаваться методами array, zeros или empty - https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html второй абзац

то есть вот так
Python:
import numpy as np

t = []
x = []
with open('data_n8.txt', 'r') as f:
    for line in f:
        data_list = line.split()

        midtime = (float(data_list[0]) + float(data_list[1])) / 2
        time = t.append(midtime)
        var = x.append(float(data_list[3]))

# print(t)
# print(x)

narr = np.array([t, x])

print(narr)
print(type(narr))  # <class 'numpy.ndarray'>
Спасибо!! Я просто уже к моменту поста совсем запуталась...)
 

Форум IT Специалистов