Size: a a a

Python для анализа данных

2021 October 15

KM

Konstantin Mohov in Python для анализа данных
Просто товарищу повезло, что два специалиста решили причиндалами помериться )))
источник

KM

Konstantin Mohov in Python для анализа данных
Если бы не это, всем было бы лень отвечать
источник

M

Mikhail in Python для анализа данных
кто-то тут причиндалами меряется? я вот человеку отвечаю в свободное от работы время
источник

IS

Ilya Shutov in Python для анализа данных
убожество какое
источник

IS

Ilya Shutov in Python для анализа данных
Михаил, спасибо
источник

V

Viktor in Python для анализа данных
Товарищ благодарен😁
источник

VM

Valerii Mamontov in Python для анализа данных
Если это не учебная задача, то товарищу стоит посмотреть как Ваша система выгружает данные. В первую очередь.
Вероятно, стоит один раз поправить выгрузку и тогда это облегчит последующую работу с данными.
источник

V

Viktor in Python для анализа данных
Такой формат связан с системой внесения данных. Значения по клиенту вносятся на разных окнах в зависимости от сценария контакта. Т.е. не изменить)))
источник

V

Viktor in Python для анализа данных
Как я писал выше, в PQ, задачка решается 2-мя строками.
Сейчас интересно решить этот отчет Питоном и сравнить скорость обработки.
источник

VM

Valerii Mamontov in Python для анализа данных
Несколько смущает, что число колонок (столбцов) может меняться от случая к случаю.
источник

V

Viktor in Python для анализа данных
Разные программы в которых разное кол-во сценариев.
источник

M

Mikhail in Python для анализа данных
ну вот я выше привёл как решается, чуть больше 2 строк)
источник

V

Viktor in Python для анализа данных
Да, спасибо!
Сейчас не за компьютером. Вечером буду пробовать.
источник

VM

Valerii Mamontov in Python для анализа данных
Как всегда отличное решение!
источник

IS

Ilya Shutov in Python для анализа данных
ну уж если быть честным и решать задачу именно так, как она была написана, то это решается именно в одну строчку в кроссплатформенном data.table. Отключив ограничители и сняв помочи. Однако, изначально мне просто хотелось еще и про идеологию решения подобных задач подсказать.

3 строки исключительно для читаемости, пайпы крайне удобны
и этот вариант минимизирует операции с памятью и на большом объеме порвет по скорости на тряпочки все решения.
Но это ведь неспортивно.

Вот развернутая строка:
as.data.table(df) %>%
 setnames(shift(names(.))) %>%
 .[, lapply(.SD, sum, na.rm = TRUE), .SDcols = seq(3, ncol(.), by = 2)]

можно в конце получить и список, просто сделать as.list()

ну и сам data.frame
df <- data.frame(
 index = c(1,2,3,4,5),
 Customer = c("A", NA, "B", "C", NA),
 Value = c(1, NA, 1, 1, NA),
 "Customer(1)" = c(NA, "A", NA, NA, "D"),
 Value = c(NA, 1, NA, NA, 1)
)

Правда ведь вопрос был не про одну строку, а просто хотелось подколоть?
Если честно?
источник

I

Igor in Python для анализа данных
df = pd.read_excel('.../Новая таблица.xlsx', index_col=0)
pd.DataFrame.from_records(
   df.apply(lambda x: {x[idx]:x[idx+1] for idx in range(1,len(x), 2)}, axis=1).values
).sum(axis=0)
источник

V

Viktor in Python для анализа данных
Потрясающая группа. Спасибо.
источник

IS

Ilya Shutov in Python для анализа данных
а первый вариант решения можно вернуть?
индуцированное решение тоже хорошо, но интересна первая идея.
там было что-то с enumerate и zip.
видел в телефоне...
источник

I

Igor in Python для анализа данных
pd.DataFrame.from_records(
   df.apply(lambda x: {value:x[idx+1] for idx, (col_name, value) in enumerate(zip(df.columns,x)) if 'customer' in col_name.lower()}, axis=1).values
).sum(axis=0)
источник

DK

D. K. in Python для анализа данных
привет!
создаю граф
G = nx.DiGraph()
G.add_edges_from(edges)
nx.draw_networkx(G, ...)

как потом его сохранить в html файл?
в мануалах нашел только если создавать через объекты plotly (GraphObjects Или plotly express)
как тогда конвертнуть мой в них? вытащить все вершины и переписать заново в go.Figure?

кажется каким-то сложным вариантом)
источник