У меня есть пандас данных следующей структуры: < /p>
d = {'I': ['A', 'B', 'C', 'D'], 'X': [ 1, 0, 3, 1], 'Y': [0, 1, 2, 1], 'Z': [1, 0, 0, 0], 'W': [3, 2, 0, 0]}
df = pd.DataFrame(data=d, columns=['I','X', 'Y', 'Z', 'W'])
df.set_index('I', inplace=True, drop=True)
< /code>
Мне нужно создать DICT DICT, чтобы получить данные всех существующих ребра (обозначенные ненулевыми значениями) между узлами: < /p>
{'A': {'X': {1}, 'Z': {1}, 'W': {3}}, 'B': {'Y': {1}, 'W': {2}}, 'C': {'X': {3}, 'Y': {2}}, 'D': {'Y': {1}, 'X': {1}}}
< /code>
Мне нужно, чтобы он создал сетевой график с использованием библиотеки Networkx и выполнить некоторые вычисления на нем. Очевидно, что это можно было бы пройти по каждой ячейке в кадре данных, но мои данные довольно велики, и это было бы неэффективно. Я ищу лучший способ, возможно, используя векторизацию и/или понимание списка. Я пробовал понимание списка, но я застрял и не могу заставить его работать. Кто -нибудь может предложить более эффективный способ сделать это, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/796 ... -dataframe
Эффективный способ создания дикта от DataFrame Pandas ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать вложенные дикта с списками как значения в Pandas DataFrame
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-