Home > Backend Development > Python Tutorial > How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?

How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?

Mary-Kate Olsen
Release: 2024-12-24 12:55:14
Original
841 people have browsed it

How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?

How to Split Dataframe String Column into Two Columns?

TL;DR version:

For the simple case of having a text column with a delimiter and wanting to create two columns, the simplest solution is:

df[['A', 'B']] = df['AB'].str.split(' ', n=1, expand=True)
Copy after login

In detail:

Andy Hayden's approach effectively demonstrates the power of the str.extract() method. However, for a simple split over a known separator, the .str.split() method is sufficient. It operates on a column (Series) of strings and returns a column (Series) of lists.

The .str attribute of a column allows us to treat each element in a column as a string and apply methods efficiently. It has an indexing interface for getting each element of a string by its index, enabling us to slice and dice lists returned from .str.split().

Python tuple unpacking can be used to create two separate columns from the list using:

df['A'], df['B'] = df['AB'].str.split('-', n=1).str
Copy after login

Alternatively, one can utilize the expand=True parameter in .str.split() to directly generate two columns:

df[['A', 'B']] = df['AB'].str.split('-', n=1, expand=True)
Copy after login

The expand=True version is advantageous when dealing with splits of different lengths, as it handles such cases by inserting None values in the columns with missing "splits".

The above is the detailed content of How to Efficiently Split a String Column in a Pandas DataFrame into Two New Columns?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template