Я хочу создать DF панды на основе 2 np.ranges, связанных вместе - PullRequest
1 голос
/ 09 октября 2019

Я хочу создать DF pandas с 2 столбцами на основе 2 np.arrays.

В конце это должно выглядеть как растворенная xy-матрица, так как я должен проверить все комбинации X и Y

примером должен быть DF со столбцами "X" и "Y"

 X      Y
----------
-5     -3
 0     -3
 5     -3
-5      0
 0      0
 5      0
-5      3
 0      3
 5      3

пример начального условия:

a = np.arange(-5,6,5)
b = np.arange(-3,4,3)

Я думаю, что если я создам 2 np. сначала массивы и затем преобразовать в pandas.df будет намного быстрее. Я просто не могу найти решение для создания этих массивов в первую очередь.

или у кого-нибудь есть идеи получше ???

Я уже нашел решение, которое использует 2 цикла for, которые добавляютстроки в пустой DF. Это очень медленно и глупо!

1 Ответ

1 голос
/ 09 октября 2019

Можете ли вы использовать itertools.product и from_records:

from itertools import product

df = pd.DataFrame.from_records ([i для i в продукте (a, b)])
На самом деле, вам не нужно понимание списка

df = pd.DataFrame.from_records(product(a,b))
df

Вывод:

   0  1
0 -5 -3
1 -5  0
2 -5  3
3  0 -3
4  0  0
5  0  3
6  5 -3
7  5  0
8  5  3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...