Sort Pandas Dataframe by substrings of a column

IamTheWalrus :

Given a DataFrame:

    name             email
0   Carl    [email protected]
1    Bob     [email protected]
2  Alice   [email protected]
3  David  [email protected]
4    Eve     [email protected]

How can it be sorted according to the email's domain name (alphabetically, ascending), and then, within each domain group, according to the string before the "@"?

The result of sorting the above should then be:

    name             email
0    Bob     [email protected]
1    Eve     [email protected]
2  David  [email protected]
3  Alice   [email protected]
4   Carl    [email protected]
cs95 :

Option 1
sorted + reindex

df = df.set_index('email')
df.reindex(sorted(df.index, key=lambda x: x.split('@')[::-1])).reset_index()

              email   name
0     [email protected]    Bob
1     [email protected]    Eve
2  [email protected]  David
3   [email protected]  Alice
4    [email protected]   Carl

Option 2
sorted + pd.DataFrame
As an alternative, you can ditch the reindex call from Option 1 by re-creating a new DataFrame.

pd.DataFrame(
    sorted(df.values, key=lambda x: x[1].split('@')[::-1]), 
    columns=df.columns
)

    name             email
0    Bob     [email protected]
1    Eve     [email protected]
2  David  [email protected]
3  Alice   [email protected]
4   Carl    [email protected]

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

Sort pandas DataFrame with MultiIndex according to column value

From Java

how to sort pandas dataframe from one column

From Dev

How to sort a Dataframe by the ocurrences in a column in Python (pandas)

From Dev

pandas dataframe sort on column raises keyerror on index

From Dev

Sort lists in a Pandas Dataframe column

From Dev

Sort dataframe by first column, Pandas

From Dev

Sort rows and get column IDs in a pandas dataframe

From Dev

Pandas Dataframe sort by a column

From Dev

Pandas Dataframe: Sort list column in dataframe

From Dev

Pandas: how to sort dataframe by column AND by index

From Dev

Removing multiple substrings in a pandas dataframe column

From Dev

Sort column in Pandas DataFrame by specific order

From Dev

Sort dataframe by another on one column - pandas

From Dev

pandas dataframe sort columns according to column totals

From Dev

Sort a pandas DataFrame by a column in another dataframe - pandas

From Dev

pandas sort dataframe by column that includes numbers and letters

From Dev

Is there a way to sort a pandas dataframe by column of numerical strings?

From Dev

Sort Pandas dataframe column index by date

From Dev

Sort by one column, then group by another, in Pandas Dataframe?

From Dev

Pandas DataFrame Sort every Column

From Dev

sort Pandas Dataframe based on column value

From Dev

sort pandas DataFrame with a column with list

From Dev

Sort pandas dataframe by column specifying custom order

From Dev

Sort pandas dataframe column based on substring

From Dev

Sort a pandas dataframe by the second string in a column

From Dev

How can I locate common substrings in pandas Dataframe column?

From Dev

sort and count values in a column DataFrame (Python Pandas)

From Dev

Sort Pandas DataFrame by frequency of values in one column

From Dev

Pandas: filter dataframe by column of sets using multiple conditions regarding substrings

Related Related

  1. 1

    Sort pandas DataFrame with MultiIndex according to column value

  2. 2

    how to sort pandas dataframe from one column

  3. 3

    How to sort a Dataframe by the ocurrences in a column in Python (pandas)

  4. 4

    pandas dataframe sort on column raises keyerror on index

  5. 5

    Sort lists in a Pandas Dataframe column

  6. 6

    Sort dataframe by first column, Pandas

  7. 7

    Sort rows and get column IDs in a pandas dataframe

  8. 8

    Pandas Dataframe sort by a column

  9. 9

    Pandas Dataframe: Sort list column in dataframe

  10. 10

    Pandas: how to sort dataframe by column AND by index

  11. 11

    Removing multiple substrings in a pandas dataframe column

  12. 12

    Sort column in Pandas DataFrame by specific order

  13. 13

    Sort dataframe by another on one column - pandas

  14. 14

    pandas dataframe sort columns according to column totals

  15. 15

    Sort a pandas DataFrame by a column in another dataframe - pandas

  16. 16

    pandas sort dataframe by column that includes numbers and letters

  17. 17

    Is there a way to sort a pandas dataframe by column of numerical strings?

  18. 18

    Sort Pandas dataframe column index by date

  19. 19

    Sort by one column, then group by another, in Pandas Dataframe?

  20. 20

    Pandas DataFrame Sort every Column

  21. 21

    sort Pandas Dataframe based on column value

  22. 22

    sort pandas DataFrame with a column with list

  23. 23

    Sort pandas dataframe by column specifying custom order

  24. 24

    Sort pandas dataframe column based on substring

  25. 25

    Sort a pandas dataframe by the second string in a column

  26. 26

    How can I locate common substrings in pandas Dataframe column?

  27. 27

    sort and count values in a column DataFrame (Python Pandas)

  28. 28

    Sort Pandas DataFrame by frequency of values in one column

  29. 29

    Pandas: filter dataframe by column of sets using multiple conditions regarding substrings

HotTag

Archive