Как изменить порядок кадров данных на основе первого ненулевого значения каждой строкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как изменить порядок кадров данных на основе первого ненулевого значения каждой строки

Сообщение Гость »


У меня есть таблица данных pandas о продажах магазинов, открытых в разные даты, в столбцах указаны месяцы. Я хочу изменить порядок данных так, чтобы столбцы отображались за 1-й месяц с момента открытия, за 2-й месяц с момента открытия... Это сделано для того, чтобы я мог сравнить производительность за 1-й месяц для каждого магазина. Кадр данных выглядит примерно так:

импортировать панд как pd df = pd.DataFrame([[0.0, 0.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0], [0,0, 0,0, 0,0, 3,0, 1,0, 1,0, 7,0, 0,0], [0,0, 0,0, 0,0, 0,0, 15,0, 16,0, 17,0, 18,0] ] , columns=['19 января', '19 февраля', '19 марта', '19 апреля', '19 мая', '19 июня', '19 июля', '19 августа' ']) Я хочу, чтобы это было что-то вроде: А Б В Г Д Е Ж Г Х 0 3,0 4,0 5,0 6,0 7,0 8,0 1 3,0 1,0 1,0 3,0 7,0 0,0 2 15,0 16,0 17,0 18,0 Я попробовал следующее, чтобы перебрать каждую строку и найти первое ненулевое значение:
# определяем функцию для поиска первого ненулевого значения в строке защита first_non_zero(строка): для значения в строке: если значение != 0: возвращаемое значение вернуть 0 # применяем функцию к каждой строке DataFrame df['first_non_zero'] = df.apply(first_non_zero, axis=1)
Я еще больше не уверен в том, как изменить порядок всего фрейма данных. Есть идеи?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»