Щоб полегшити аналіз даних у таблиці, ми можемо змінити форму даних у більш зручну для комп’ютера форму за допомогою Pandas у Python. Pandas.melt() є однією з функцій для цього. Pandas.melt() повертає DataFrame із широкого формату на довгий формат.
встановити роздільник java
Панди тануть() Функція корисна для переведення DataFrame у формат, де один або більше стовпців є змінними-ідентифікаторами, тоді як усі інші стовпці, які вважаються вимірюваними змінними, не повертаються до осі рядка, залишаючи лише два стовпці без ідентифікатора, змінну та значення.
Синтаксис функції Python Pandas.melt().
Синтаксис: pandas.melt(frame, id_vars=Немає, value_vars=Немає,
var_name=Немає, value_name='значення', col_level=Немає)
Параметри:
- рамка: DataFrame
- id_vars[кортеж, список або ndarray, необов’язково] : Стовпці для використання як змінних-ідентифікаторів.
- value_vars[кортеж, список або ndarray, необов’язково]: Стовпці, які потрібно скасувати. Якщо не вказано, використовуються всі стовпці, які не встановлені як id_vars.
- змінна_ім'я [скаляр]: Ім’я для стовпця «змінна». Якщо немає, він використовує frame.columns.name або «змінну».
- value_name[скаляр, значення за замовчуванням]: Ім’я для стовпця «значення».
- col_level[int або string, необов’язково]: Якщо стовпці є MultiIndex, тоді використовуйте цей рівень для розплавлення.
Створення зразка DataFrame
Тут ми створили зразок DataFrame, який будемо використовувати в цій статті.
Python3
# importing pandas as pd> import> pandas as pd> # creating a dataframe> df>=> pd.DataFrame({>'Name'>: {>0>:>'John'>,>1>:>'Bob'>,>2>:>'Shiela'>},> >'Course'>: {>0>:>'Masters'>,>1>:>'Graduate'>,>2>:>'Graduate'>},> >'Age'>: {>0>:>27>,>1>:>23>,>2>:>21>}})> df> |
>
>

melt () зробити в прикладі Pandas
Нижче наведено приклад того, як ми можемо різними способами використовувати функцію Pandas melt(). панди :
Приклад 1: Pandas melt().
У цьому прикладіpd.melt>функція використовується для скасування повороту стовпця «Курс», зберігаючи «Ім’я» як змінну ідентифікатора. Отриманий DataFrame має три стовпці: «Назва», «змінна» (містить ім’я стовпця «Курс») і «значення» (містить відповідні значення зі стовпця «Курс»).
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
>
Вихід:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Приклад 2: використання id_vars і value_vars для melt() Pandas DataFrame
У цьому прикладіpd.melt>функція використовується для скасування повороту стовпців «Курс» і «Вік», використовуючи «Ім’я» як змінну ідентифікатора.
Python3
vb і vb net
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Вихід:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>
Приклад 3: використання var_name і value_name для melt() Pandas DataFrame
У цьому прикладіpd.melt>функція використовується з налаштованими назвами стовпців. Стовпець «Курс» не повертається, але зберігається «Назва» як ідентифікатор. Отриманий DataFrame має стовпці «Name», «ChangedVarname» (для назви розплавленого стовпця встановлено значення «Course») і «ChangedValname» (містить відповідні значення зі стовпця «Course»).
Python3
# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)> |
>
>
Вихід:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Приклад 4: використання ignore_index із функцією Pandas.melt().
У цьому прикладіpd.melt>функція застосовується для скасування повороту стовпців «Курс» і «Вік», використовуючи «Ім’я» як змінну ідентифікатора. Вихідний індекс ігнорується черезignore_index=True>параметр.
Python3
сплячий діалект
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
>
Вихід:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>