Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

GANDAS DATAFRAME là tuyệt vời để thao tác dữ liệu. Nó có thể xảy ra là bạn có một cột chứa các giá trị chuỗi được phân định, ví dụ, A, B, C, và bạn muốn các giá trị có mặt trong các cột riêng biệt. Trong hướng dẫn này, chúng tôi sẽ xem xét cách phân chia một cột văn bản trong một bản dữ liệu gấu trúc thành nhiều cột theo Delimiter.

Làm thế nào để chia một cột theo dấu phân cách trong Python?

Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

Bạn có thể sử dụng chức năng Pandas Series.str.split() để phân chia các chuỗi trong cột xung quanh một dấu phân cách/dấu phân cách nhất định. Nó tương tự như hàm chuỗi Python

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
0 nhưng áp dụng cho toàn bộ cột DataFrame. Sau đây là cú pháp:

# df is a pandas dataframe
# default parameters pandas Series.str.split() function
df['Col'].str.split(pat, n=-1, expand=False)
# to split into multiple columns by delimiter
df['Col'].str.split(delimiter, expand=True)

Vượt qua

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
1 để chia các chuỗi thành các cột riêng biệt. Lưu ý rằng đó là
import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
2 theo mặc định.

Sử dụng tham số n để vượt qua số lượng phân tách bạn muốn. Đó là

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
3 theo mặc định để phân chia theo tất cả các trường hợp của dấu phân cách.

Ví dụ

Hãy cùng xem xét việc sử dụng phương pháp trên với sự trợ giúp của một số ví dụ. Đầu tiên, chúng tôi sẽ tạo một khung dữ liệu mà chúng tôi sẽ sử dụng trong suốt hướng dẫn này.

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df

Đầu ra:

Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

Ở đây, chúng tôi đã tạo một DataFrame

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
4 có một cột duy nhất địa chỉ. Lưu ý rằng các chuỗi trong cột địa chỉ trên mạng có một mẫu nhất định với chúng. Nếu chúng ta nhìn kỹ, cột này có thể được chia thành ba cột - tên đường phố, thành phố và tiểu bang.

Hãy để đi trước và phân chia cột này.

1. Cột chia theo dấu phân cách thành nhiều cột

Áp dụng chức năng PANDAS SERIES

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
5 trên cột Địa chỉ trên mạng và chuyển dấu phân cách (dấu phẩy trong trường hợp này) trên đó bạn muốn phân chia cột. Ngoài ra, hãy đảm bảo chuyển
import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
6 cho tham số
import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
7.

# split column into multiple columns by delimiter 
df['Address'].str.split(',', expand=True)

Output:

Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

Bạn có thể thấy rằng nó dẫn đến ba cột khác nhau. Nếu bạn không vượt qua

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
1, hàm sẽ trả về một cột duy nhất (một chuỗi gấu trúc) với các giá trị do sự phân chia bên trong danh sách.

# using default value for expand parameter
df['Address'].str.split(',')

Output:

0    [4860 Sunset Boulevard, San Francisco, Califor...
1           [3055 Paradise Lane, Salt Lake City, Utah]
2                [682 Main Street, Detroit,  Michigan]
3           [9001 Cascade Road, Kansas City, Missouri]
Name: Address, dtype: object

Ở đây, các giá trị trong cột văn bản đã được chia nhưng điều này đã dẫn đến việc tạo ra các cột riêng biệt. Các giá trị phân chia nằm trong một danh sách.

Bạn vẫn có thể chia cột danh sách này thành nhiều cột nhưng nếu mục tiêu của bạn là chia cột văn bản thành nhiều cột thì tốt hơn là chuyển

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    'Address': ['4860 Sunset Boulevard,San Francisco,California',
                '3055 Paradise Lane,Salt Lake City,Utah',
                '682 Main Street,Detroit,Michigan',
                '9001 Cascade Road,Kansas City,Missouri']
})
# display the dataframe
df
1 cho chức năng Pandas Series.str.split().

Bây giờ, hãy để thêm ba cột mới kết quả từ việc phân chia vào DataFrame DF.

# split column and add new columns to df
df[['Street', 'City', 'State']] = df['Address'].str.split(',', expand=True)
# display the dataframe
df

Output:

Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

Bạn có thể thấy rằng các cột kết quả từ sự phân chia hiện đã được thêm vào DataFrame DF.

2. Chỉ định số lượng phân tách

Trong các ví dụ trên, chúng tôi phân chia cột văn bản Địa chỉ trên mạng trên mỗi lần xuất hiện của dấu phân cách, phạm vi. Đó là, hai lần phân chia dẫn đến ba cột khác nhau. Bạn cũng có thể chỉ định số lượng chia tách bạn muốn. Ví dụ, hãy để Lôi chỉ tạo một phần chia dẫn đến hai cột.

# custom number of splits
df['Address'].str.split(',', n=1, expand=True)

Output:

Hướng dẫn how do you separate text into columns in python? - làm cách nào để tách văn bản thành các cột trong python?

Ở đây, n = 1 biểu thị rằng chúng tôi muốn chỉ chia một. Sự chia rẽ này sẽ xảy ra vào lần xuất hiện đầu tiên của dấu phân cách từ bên trái. Bạn có thể thấy rằng các giá trị thành phố và trạng thái được cùng nhau trong cột thứ hai.

Thêm - Làm thế nào để kết hợp các cột Chuỗi vào một cột duy nhất?

Giống như bạn đã sử dụng hàm gấu trúc Series.str.split() để phân chia một cột, bạn có thể sử dụng gấu trúc

# split column into multiple columns by delimiter 
df['Address'].str.split(',', expand=True)
2 để kết hợp các giá trị từ nhiều cột thành một cột. Đây là một ví dụ -

# concat columns by separator
df['Street'].str.cat(df[['City', 'State']], sep=',')

Output:

0    4860 Sunset Boulevard,San Francisco,California
1            3055 Paradise Lane,Salt Lake City,Utah
2                 682 Main Street,Detroit, Michigan
3            9001 Cascade Road,Kansas City,Missouri
Name: Street, dtype: object

Bạn có thể thấy rằng chúng ta nhận được giá trị giống như trong cột Địa chỉ trên mạng.

Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong A & NBSP; Jupyter Notebook & NBSP; với hạt nhân Python (phiên bản 3.8.3) có Pandas phiên bản 1.0.5


Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.

  • Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.

    Xem tất cả các bài viết

Làm thế nào để bạn phân tách văn bản trong Python?

Phương thức phân chia chuỗi python () Phương thức phân tách một chuỗi thành một danh sách. Bạn có thể chỉ định phân tách, dấu phân cách mặc định là bất kỳ khoảng trắng nào. Lưu ý: Khi MaxSplit được chỉ định, danh sách sẽ chứa số lượng phần tử được chỉ định cộng với một.The split() method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.

Làm cách nào để chia một cột văn bản thành hai cột riêng biệt?

Chọn ô hoặc cột chứa văn bản bạn muốn chia. Chọn Dữ liệu> Văn bản sang cột. Trong văn bản chuyển đổi thành Trình hướng dẫn cột, chọn DELIMITED> NEXT. Chọn các dấu phân cách cho dữ liệu của bạn.Select Data > Text to Columns. In the Convert Text to Columns Wizard, select Delimited > Next. Select the Delimiters for your data.

Làm cách nào để chia một cột thành nhiều cột trong Python?

Chúng ta có thể sử dụng chức năng Pandas Series.Str.Split () để phá vỡ các chuỗi trong nhiều cột xung quanh một dấu phân cách hoặc dấu phân cách nhất định. Nó tương tự như phương thức phân chia chuỗi python () nhưng áp dụng cho toàn bộ cột DataFrame.use the pandas Series. str. split() function to break up strings in multiple columns around a given separator or delimiter. It's similar to the Python string split() method but applies to the entire Dataframe column.

Làm cách nào để chia văn bản trong một cột thành nhiều hàng trong Python?

Để chia văn bản trong một cột thành nhiều hàng với Python Pandas, chúng ta có thể sử dụng phương thức str.Split.use the str. split method.

Làm thế nào để bạn chia một cột trong một danh sách trong Python?

Sử dụng hàm str.split () để chia các chuỗi thành hai danh sách/cột trong python pandas.Chuỗi có thể được lưu dưới dạng danh sách loạt hoặc được xây dựng từ một chuỗi duy nhất, phân tách, nhiều khung dữ liệu cột.Các hàm được sử dụng tương tự như phương thức phân chia mặc định () của Python, nhưng chúng chỉ có thể được áp dụng cho một chuỗi. split() Function to Split Strings Into Two List/Columns in Python Pandas. The string can be saved as a series list or constructed from a single, separated string, multiple column dataframes. Functions used are similar to Python's default split() method, but they can only be applied to a single string.

Làm thế nào để bạn phân tách dữ liệu trong Python?

Làm thế nào để phân tách dữ liệu trong câu trả lời mã Python..
# Nhập mô -đun Pandas ..
Nhập Gandas dưới dạng PD ..
# Khung dữ liệu mới với các cột giá trị phân chia ..
dữ liệu ["nhóm"] = dữ liệu ["nhóm"].str.chia ("", n = 1, mở rộng = true).
# DF hiển thị ..