Метод squeeze
Метод squeeze применяется к DataFrame
и возвращает Series, если таблица содержит
только один столбец или одну строку. Если таблица
имеет более одного столбца и строки, она возвращается
без изменений. Необязательный параметр axis
позволяет указать, по какой оси выполнять сжатие:
axis=0 для строк, axis=1 для столбцов.
По умолчанию сжатие выполняется по обеим осям.
Синтаксис
df.squeeze([axis])
Пример
Давайте создадим таблицу с одним столбцом и преобразуем её в серию:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5]
})
res = df.squeeze()
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 4
4 5
dtype: int64
Пример
Если таблица содержит несколько столбцов, то сжатие не выполняется:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.squeeze()
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Пример
С помощью параметра axis можно выполнить
сжатие по строкам, если в таблице одна строка:
import pandas as pd
df = pd.DataFrame({
'a': [1],
'b': [10]
})
res = df.squeeze(axis=0)
print(res)
Результат выполнения кода:
a 1
b 10
dtype: int64
Пример
Сжатие по столбцам выполняется аналогично, если в таблице один столбец:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5]
})
res = df.squeeze(axis=1)
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 4
4 5
dtype: int64