6.16. DataFrame Cut

  • pd.cut()

6.16.1. SetUp

>>> import pandas as pd
>>>
>>> df = pd.DataFrame([
...     {'firstname': 'Alice', 'lastname': 'Apricot', 'age': 30},
...     {'firstname': 'Bob', 'lastname': 'Blackthorn', 'age': 31},
...     {'firstname': 'Carol', 'lastname': 'Corn', 'age': 32},
...     {'firstname': 'Dave', 'lastname': 'Durian', 'age': 33},
...     {'firstname': 'Eve', 'lastname': 'Elderberry', 'age': 34},
...     {'firstname': 'Mallory', 'lastname': 'Melon', 'age': 15},
... ])
>>>
>>> df
  firstname    lastname  age
0     Alice     Apricot   30
1       Bob  Blackthorn   31
2     Carol        Corn   32
3      Dave      Durian   33
4       Eve  Elderberry   34
5   Mallory       Melon   15

6.16.2. Cut

>>> pd.cut(
...     x = df['age'],
...     bins = [0, 18, 135],
...     labels = ['minor', 'adult'],
... )
0    adult
1    adult
2    adult
3    adult
4    adult
5    minor
Name: age, dtype: category
Categories (2, str): ['minor' < 'adult']

6.16.3. Column

>>> df['status'] = pd.cut(
...     x = df['age'],
...     bins = [0, 18, 135],
...     labels = ['minor', 'adult'],
... )
>>>
>>>
>>> df
  firstname    lastname  age status
0     Alice     Apricot   30  adult
1       Bob  Blackthorn   31  adult
2     Carol        Corn   32  adult
3      Dave      Durian   33  adult
4       Eve  Elderberry   34  adult
5   Mallory       Melon   15  minor