Трудности манипуляции с таблицами с Pandas Pandas
Я даю себе крутой курс использования python и pandas для хруста данных. Я, наконец, устал от использования электронных таблиц и хотел чего-то более гибкого, чем R, поэтому я решил отбросить это. Это действительно гладкий интерфейс, и у меня с ним вспыхивает взрыв. Однако, исследуя различные трюки, я не смог найти только чит-лист основных функций электронных таблиц, особенно в отношении добавления формул к новым столбцам в кадрах данных, которые ссылаются на другие столбцы.
Мне было интересно, может ли кто-нибудь дать мне рекомендованный код для выполнения шести стандартных операций с электронными таблицами ниже, чтобы я мог лучше понять, как это работает. Если вы хотите увидеть полноразмерный рендеринг изображения, просто нажмите здесь.
- Как скопировать фрейм данных в определенную позицию в excel с помощью python?
- Pandas Excel Объединенная ячейка Parsing переименования Безымянный Колонка
- Pandas: to_excel () float_format
- Сохраните несколько DataFrames Pandas в один файл Excel
- xlwings vs pandas native export с несколькими индексами данных: как смириться?
Если вы хотите увидеть таблицу для себя, нажмите здесь .
Я уже немного знаком с добавлением столбцов в dataframes, это в основном перекрестная ссылка на конкретные ячейки, с которыми я борюсь. В принципе, я ожидаю, что ответ будет выглядеть примерно так:
table['NewColumn']=(table['given_column']+magic-code-that-I-don't-know).astype(float-or-int-or-whatever)
Если мне будет полезно использовать дополнительную библиотеку для выполнения любой из этих функций, не стесняйтесь предлагать ее.
Спасибо заранее.
- Преобразование даты в стиле Excel с помощью pandas
- Не отправлять пароль в связи с Postgres - Pandas
- Pandas пишет для Excel: 1) пустой ряд из индекса; 2) держать индекс ежедневно
- Вставка строк на основе отсутствующих номеров в повторяющихся сериях с использованием Excel или Python
- Извлечение Pandas multiindex из dataframe с NaT
- Python: конвертировать данные excel в dataframes
- Pandas fromat column несколько листов
- Как включить функцию загрузки в django, если файл XLSX в папке django?
В общем, вы хотите думать о векторизованных операциях над столбцами вместо операций над конкретными ячейками.
Например, если у вас есть столбец data
, и вы хотите, чтобы другой столбец был тем же, но с каждым значением, умноженным на 3, вы могли бы сделать это двумя основными способами. Первая – операция «по ячейке».
df['data_prime'] = df['data'].apply(lambda x: 3*x)
Второй – это векторизованный способ:
df['data_prime'] = df['data'] * 3
Итак, столбец по столбцу в вашей таблице:
Count (вы можете добавить 1 к правой стороне, если хотите, чтобы она начиналась с 1 вместо 0):
df['count'] = pandas.Series(range(len(df))
Общая сумма :
df['running total'] = df['data'].cumsum()
Отличие от скаляра (установите скаляр в определенное значение в вашем df, если хотите):
df['diff'] = scalar - df['data']
Скользящее среднее :
df['moving average'] = df['running total'] / df['count'].astype('float')
Основная формула из вашей таблицы :
Думаю, вам этого достаточно, по своему усмотрению.
Если утверждение :
df['new column'] = 0 mask = df['data column'] >= 3 df.loc[mask, 'new column'] = 1