Chuỗi để đối tượng gấu trúc Python

Trong hướng dẫn này, bạn sẽ học cách sử dụng thư viện Pandas của Python để chuyển đổi giá trị của cột thành kiểu dữ liệu chuỗi. Bạn sẽ học cách chuyển đổi số nguyên và số float của Pandas thành chuỗi. Bạn cũng sẽ tìm hiểu cách các chuỗi đã phát triển trong Pandas và những lợi ích của việc sử dụng kiểu dtype chuỗi Pandas. Bạn sẽ tìm hiểu bốn cách khác nhau để chuyển đổi cột Pandas thành chuỗi và cách chuyển đổi mọi cột khung dữ liệu Pandas thành chuỗi

Câu trả lời nhanh. Sử dụng 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
5

Mục lục

  • Đang tải một khung dữ liệu mẫu
  • Kiểu dữ liệu chuỗi trong Pandas là gì?
  • Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng astype
  • Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng bản đồ
  • Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng áp dụng
  • Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng giá trị. kiểu mẫu
  • Chuyển đổi tất cả các cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng Applymap
  • Phần kết luận

Đang tải một khung dữ liệu mẫu

Để làm theo hướng dẫn, vui lòng tải cùng một khung dữ liệu được cung cấp bên dưới. Chúng tôi sẽ tải một khung dữ liệu chứa ba cột khác nhau. 1 trong số đó sẽ tải dưới dạng chuỗi và 2 sẽ tải dưới dạng số nguyên

Trước tiên, chúng tôi sẽ tải khung dữ liệu, sau đó in năm bản ghi đầu tiên bằng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
6

Bắt đầu nào

import pandas as pd

df = pd.DataFrame[{
    'Name':['Nik', 'Jane', 'Matt', 'Kate', 'Clark'],
    'Age': [30, 31, 29, 33, 43],
    'Income':[70000, 72000, 83000, 90000, 870000]
}]

print['df head:']
print[df.head[]]

Điều này trả về thông tin sau

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000

Hãy bắt đầu hướng dẫn bằng cách tìm hiểu một chút về cách Pandas xử lý dữ liệu chuỗi

Kiểu dữ liệu chuỗi trong Pandas là gì?

Để khám phá cách Pandas xử lý dữ liệu chuỗi, chúng ta có thể sử dụng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
7, phương thức này sẽ in ra thông tin trên khung dữ liệu, bao gồm các kiểu dữ liệu cho mỗi cột

Hãy xem các kiểu dữ liệu là gì

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes

Chúng ta có thể thấy ở đây rằng theo mặc định, Pandas sẽ lưu trữ các chuỗi bằng cách sử dụng kiểu dữ liệu 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8. Loại dữ liệu 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8 được sử dụng cho chuỗi và cho các loại dữ liệu hỗn hợp, nhưng nó không đặc biệt rõ ràng

Bắt đầu từ phiên bản 1. 0, Pandas đã có một kiểu dữ liệu 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0 chuyên dụng. Mặc dù kiểu dữ liệu này hiện không cung cấp bất kỳ cải tiến tốc độ hoặc bộ nhớ rõ ràng nào, nhưng nhóm phát triển đằng sau Pandas đã chỉ ra rằng điều này sẽ xảy ra trong tương lai

Do đó, hướng dẫn sẽ sử dụng kiểu dữ liệu 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0 trong suốt hướng dẫn. Nếu bạn đang sử dụng phiên bản thấp hơn 1. 0, vui lòng thay thế 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0 bằng 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
3 trong mọi trường hợp

Hãy bắt đầu bằng cách sử dụng phương pháp ưa thích để sử dụng Pandas để chuyển đổi một cột thành một chuỗi

Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng astype

Pandas đi kèm với một phương thức cột [sê-ri], 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
4, cho phép chúng tôi truyền lại một cột thành một loại dữ liệu khác

Nhiều hướng dẫn mà bạn sẽ tìm thấy chỉ yêu cầu bạn chuyển vào 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
5 làm đối số. Mặc dù điều này đúng với các phiên bản Pandas thấp hơn 1. 0, nếu bạn đang sử dụng 1. 0 trở lên, thay vào đó hãy chuyển vào 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes

Làm điều này sẽ đảm bảo rằng bạn đang sử dụng kiểu dữ liệu 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0, thay vì kiểu dữ liệu 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8. Điều này sẽ đảm bảo những cải tiến đáng kể trong tương lai

Hãy cùng xem cách chúng ta có thể chuyển đổi cột Pandas thành chuỗi, sử dụng phương pháp 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
4

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8

Điều này trả về như sau

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
9

Chúng ta có thể thấy rằng cột 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
80 trước đây được lưu trữ dưới dạng 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
81 hiện được lưu trữ dưới dạng 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0 kiểu dữ liệu

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng phương pháp 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
83 để chuyển đổi giá trị cột Pandas thành chuỗi

Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng bản đồ

Tương tự như phương pháp 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
4 Pandas series, bạn có thể sử dụng phương pháp 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
83 để chuyển đổi cột Pandas thành chuỗi

Hãy xem cái này trông như thế nào

import pandas as pd

df = pd.DataFrame[{
    'Name':['Nik', 'Jane', 'Matt', 'Kate', 'Clark'],
    'Age': [30, 31, 29, 33, 43],
    'Income':[70000, 72000, 83000, 90000, 870000]
}]

print['df head:']
print[df.head[]]
6

Điều này trả về như sau

import pandas as pd

df = pd.DataFrame[{
    'Name':['Nik', 'Jane', 'Matt', 'Kate', 'Clark'],
    'Age': [30, 31, 29, 33, 43],
    'Income':[70000, 72000, 83000, 90000, 870000]
}]

print['df head:']
print[df.head[]]
7

Ở đây, chúng ta có thể thấy rằng bằng cách sử dụng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
83, chúng ta thực sự không thể sử dụng kiểu dữ liệu 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0. Do đó, dữ liệu được lưu trong kiểu dữ liệu 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8. Do đó, tôi không khuyến nghị phương pháp này nếu bạn đang sử dụng phiên bản cao hơn 1. 0

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
89 để chuyển đổi dữ liệu của cột Pandas thành chuỗi

Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng áp dụng

Tương tự như phương pháp trên, chúng ta cũng có thể sử dụng phương pháp 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
89 để chuyển đổi giá trị cột Pandas thành chuỗi. Điều này đi kèm với những hạn chế tương tự, trong đó chúng tôi không thể chuyển đổi chúng thành kiểu dữ liệu 
print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0, mà chỉ chuyển đổi thành kiểu dữ liệu 
# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
8

Hãy xem nó trông như thế nào

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
5

Điều này trả về như sau

import pandas as pd

df = pd.DataFrame[{
    'Name':['Nik', 'Jane', 'Matt', 'Kate', 'Clark'],
    'Age': [30, 31, 29, 33, 43],
    'Income':[70000, 72000, 83000, 90000, 870000]
}]

print['df head:']
print[df.head[]]
7

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
93 để chuyển đổi giá trị của cột trong khung dữ liệu thành chuỗi

Chuyển đổi giá trị cột khung dữ liệu Pandas thành chuỗi bằng giá trị. kiểu mẫu

Cuối cùng, chúng ta cũng có thể sử dụng phương thức 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
94 để chuyển đổi trực tiếp các giá trị của cột thành chuỗi bằng cách sử dụng Pandas

Hãy xem nó trông như thế nào

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
9

Điều này trả về như sau

import pandas as pd

df = pd.DataFrame[{
    'Name':['Nik', 'Jane', 'Matt', 'Kate', 'Clark'],
    'Age': [30, 31, 29, 33, 43],
    'Income':[70000, 72000, 83000, 90000, 870000]
}]

print['df head:']
print[df.head[]]
7

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
95 để chuyển đổi tất cả các cột trong khung dữ liệu Pandas thành chuỗi

Chuyển đổi tất cả các cột khung dữ liệu Pandas thành chuỗi bằng cách sử dụng Applymap

Trong phần cuối cùng này, bạn sẽ tìm hiểu cách sử dụng phương pháp 

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
95 để chuyển đổi tất cả các cột trong khung dữ liệu Pandas thành chuỗi

Hãy xem cái này trông như thế nào

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
1

Điều này trả về

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
2

Thay vào đó, nếu chúng ta muốn chuyển đổi các kiểu dữ liệu sang kiểu dữ liệu 

print[df.info[]]

# Returns:
# 
# RangeIndex: 5 entries, 0 to 4
# Data columns [total 3 columns]:
#  #   Column  Non-Null Count  Dtype
# ---  ------  --------------  -----
#  0   Name    5 non-null      object
#  1   Age     5 non-null      int64
#  2   Income  5 non-null      int64
# dtypes: int64[2], object[1]
# memory usage: 248.0+ bytes
0 mới, thì chúng ta có thể lặp qua từng cột. Điều này sẽ trông như thế này

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
3

Điều này trả về như sau

# df head:
#     Name  Age  Income
# 0    Nik   30   70000
# 1   Jane   31   72000
# 2   Matt   29   83000
# 3   Kate   33   90000
# 4  Clark   43  870000
4

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python Pandas để chuyển đổi giá trị của cột thành chuỗi. Bạn đã học được sự khác biệt giữa các cách khác nhau mà Pandas lưu trữ chuỗi. Bạn cũng đã học được bốn cách khác nhau để chuyển đổi giá trị thành kiểu chuỗi. Cuối cùng, bạn đã học cách chuyển đổi tất cả các cột trong khung dữ liệu thành các loại chuỗi trong một lần

Là một đối tượng một chuỗi trong gấu trúc?

Khi một cột là loại Đối tượng, điều đó không nhất thiết có nghĩa là tất cả các giá trị sẽ là chuỗi . Trên thực tế, tất cả chúng có thể là số hoặc hỗn hợp của chuỗi, số nguyên và số float. Với sự khác biệt này, bạn không thể thực hiện bất kỳ thao tác chuỗi nào trên cột ngay lập tức.

Làm cách nào để chuyển đổi một chuỗi thành DataFrame của gấu trúc?

Phương pháp 1. Tạo Pandas DataFrame từ một chuỗi bằng cách sử dụng StringIO[] Một cách để đạt được điều này là sử dụng hàm StringIO[]. Nó sẽ hoạt động như một trình bao bọc và nó sẽ giúp chúng ta đọc dữ liệu bằng lệnh pd. hàm read_csv[].

Làm cách nào để chuyển đổi chuỗi thành float trong gấu trúc Python?

pandas Chuyển chuỗi thành dấu nổi . Use pandas DataFrame. hàm astype[] để chuyển đổi cột từ chuỗi/int thành float, bạn có thể áp dụng điều này trên một cột cụ thể hoặc trên toàn bộ Khung dữ liệu. Để truyền kiểu dữ liệu thành float có chữ ký 54 bit, bạn có thể sử dụng numpy. float64 , gọn gàng.

Làm cách nào để chuyển đổi cột đối tượng thành chuỗi trong gấu trúc?

astype[] Pandas series, bạn có thể sử dụng. phương thức map[] để chuyển đổi cột Pandas thành chuỗi.

Chủ Đề