Добавить значения массивов в виде столбцов в DataFrame по уникальному целому числу - PullRequest
0 голосов
/ 19 ноября 2018

Если у меня есть массив nxy 3xn, полный целых чисел, как я могу легко добавить эти целые числа в DataFrame следующим образом:

input:

a = np.array(array([[2,10, 8],[2,9,4],[8,2,2],[8,9,10],[2,3,8]])

output:

Сначала создайте пустой DataFrame со столбцами, представляющими каждое уникальное целое число из массива numpy.

В каждой строке этого нового DataFrame мне нужно добавить каждую строку в массиве numpy к уникальным столбцам.Каждое новое целое число должно превращаться в столбец, отдельно содержащий всю строку.

Должно выглядеть примерно так до того, как оно достигнет [2,3,8] в массиве:

Column:    2       4       8        9       10
R      |[2,9,4]|[8,2,2]|[2,9,4] |[8,2,2]| [2,9,4] |
O       [8,2,2]         [2,3,8]  [2,3,8]  [2,3,8]
W:      [8,9,10]        

С момента последней записив массиве numpy есть 3, а 3 еще нет в списке столбцов, я хотел бы создать новый столбец для него.

Например, если следующий элемент в массиве после [2,3,8] равен [1,89,2], тогда DataFrame теперь должен выглядеть следующим образом:

Column:    2       4       8        9       10         3        1     89
R      |[2,9,4]|[8,2,2]|[2,9,4] |[8,2,2]| [2,9,4] | [1,89,2] |     |     |
O       [8,2,2]         [2,3,8]  [2,3,8]  [2,3,8]
W:      [8,9,10]        [1,89,2]
        [1,89,2]        [8,9,10]

1 и 89 теперь создаются как строки, ожидающие следующего элемента в массиве numpy.

Тогда столбцы 1, 89 и 2 будут содержать следующий элемент и так далее.Надеюсь, это станет более понятным.

Технически, мне все равно, как хранятся данные, сначала я использовал словарь, но DataFrame имеет больше смысла, когда я смотрю на него сейчас.Если есть какой-либо способ с использованием списка, словаря или какой-либо другой функции, о которой я не знаю, пожалуйста, дайте мне знать, если это имеет смысл.

2nd Edit:

Извините запутаница, ребята.

1 Ответ

0 голосов
/ 21 ноября 2018
dict1={'2':[[2,9,4],[8,2,2]],'4': [[8,2, 2],[8,9,10]],'8':[[2,9,4],[1,89,2]],'9':[[8,2,2],[2,3,8]],'10': [[2,9,4],[2,3,8]],'3': [[1,89,2],[2,3,8]]}

df3=pd.DataFrame(dict1)

Я думаю, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...