{'mục lục'. [0, 1, 2, 3, 4], 'cột'. ['Tên sông', 'Chiều dài[KM]', 'Chiều dài[Dặm]'], 'dữ liệu'. [['Nile', '6650', 4130], ['Amazon', 6400, 3976], ['Dương Tử', 6300, 3917], ['Mississippi', 6275, 3902], ['Yenisei', 5539,
Trong bài đăng này, bạn sẽ tìm hiểu cách sử dụng Python để chuyển đổi Khung dữ liệu Pandas thành từ điển. Vì Pandas DataFrames là cấu trúc dữ liệu phức tạp nên có nhiều cách khác nhau để thực hiện điều này. Bài đăng này khám phá tất cả các tùy chọn khác nhau mà Pandas cung cấp. Ví dụ: Pandas cho phép bạn chuyển đổi DataFrame thành danh sách từ điển hoặc từ điển ánh xạ cột và giá trị
Đến cuối hướng dẫn này, bạn sẽ học được
- Phương pháp Pandas
1 hoạt động như thế nào# Load a Sample Pandas DataFrame import pandas as pd df = pd.DataFrame[{ 'Name': ['Nik', 'Evan', 'Kate'], 'Age': [33, 32, 33], 'Score': [90, 95, 100] }] print[df] # Returns: # Name Age Score # 0 Nik 33 90 # 1 Evan 32 95 # 2 Kate 33 100
- Cách tùy chỉnh đầu ra của phương thức và
- Cách chuyển đổi chỉ một tập hợp con các cột thành từ điển bằng hàm
2# Load a Sample Pandas DataFrame import pandas as pd df = pd.DataFrame[{ 'Name': ['Nik', 'Evan', 'Kate'], 'Age': [33, 32, 33], 'Score': [90, 95, 100] }] print[df] # Returns: # Name Age Score # 0 Nik 33 90 # 1 Evan 32 95 # 2 Kate 33 100
Mục lục
- Hiểu về gấu trúc. Phương thức to_dict[]
- Đang tải một Khung dữ liệu Pandas mẫu
- Chuyển đổi Khung dữ liệu Pandas thành Từ điển
- Chuyển đổi Khung dữ liệu Pandas thành Từ điển giá trị cột
- Chuyển đổi Khung dữ liệu Pandas thành Từ điển các giá trị chuỗi
- Chuyển đổi Khung dữ liệu Pandas thành Chỉ mục, Cột và Dữ liệu từ điển
- Chuyển đổi Khung dữ liệu Pandas thành Danh sách từ điển
- Chuyển đổi Khung dữ liệu Pandas thành Từ điển Chỉ mục và Giá trị
- Chuyển đổi sê-ri Two Pandas [Cột] thành từ điển
- Phần kết luận
- Tài nguyên bổ sung
Hiểu về gấu trúc. Phương thức to_dict[]
Trước khi đi sâu vào áp dụng phương pháp Pandas
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
1, chúng ta hãy xem phương pháp này trông như thế nào# Understanding the Pandas .to_dict[] Method
import pandas as pd
df = pd.DataFrame[]
df.to_dict[orient='dict', into=]
Tham số
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
4 chấp nhận bảy đối số khác nhau, mỗi đối số cung cấp cho bạn các cách khác nhau để tùy chỉnh từ điển kết quả. Hướng dẫn này khám phá tất cả chúng. Hãy đi sâu vào cách sử dụng phương phápĐang tải một Khung dữ liệu Pandas mẫu
Nếu bạn muốn làm theo từng dòng hướng dẫn này, tôi đã cung cấp một Khung dữ liệu Pandas mẫu trong khối mã bên dưới. DataFrame được cố tình giữ đơn giản để thấy rõ hơn những gì đang xảy ra
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
Từ khối mã ở trên, bạn có thể thấy rằng Khung dữ liệu Pandas mẫu có ba cột và ba bản ghi. Bây giờ DataFrame đã được tải, hãy xem cách bạn có thể áp dụng phương pháp
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
1 để chuyển đổi DataFrame thành từ điểnChuyển đổi Khung dữ liệu Pandas thành Từ điển
Theo mặc định, phương pháp Pandas DataFrame
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
1 sẽ trả về một từ điển trong đó các khóa là các cột và các giá trị là các kết quả khớp với # Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
7. Quá trình này có nhiều thông tin hơn khi các chỉ số của bạn có ý nghĩa, thay vì các số tùy ýChúng ta hãy xem những gì mà phương thức Pandas to_dict[] trả về với các đối số mặc định
# Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
Trong các phần sau, bạn sẽ tìm hiểu cách tùy chỉnh phương thức để trả về các từ điển có cấu trúc khác nhau
Chuyển đổi Khung dữ liệu Pandas thành Từ điển giá trị cột
Để tạo từ điển các giá trị cột bằng phương pháp Pandas DataFrame to_dict, bạn có thể chuyển 'danh sách' làm đối số. Điều này sẽ tạo một cặp tên cột khóa-giá trị và danh sách các giá trị cột được sắp xếp theo thứ tự
Hãy xem nó trông như thế nào
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
0Trong phần sau, bạn sẽ học cách tạo một từ điển tương tự, sử dụng các đối tượng Pandas Series thay vì danh sách
Chuyển đổi Khung dữ liệu Pandas thành Từ điển các giá trị chuỗi
Tương tự như quy trình trên, chúng tôi có thể chuyển đổi Khung dữ liệu Pandas thành từ điển tên cột và giá trị Sê-ri Pandas. Điều này có thể được thực hiện bằng cách chuyển chuỗi
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
8 vào phương thức làm đối số định hướng của nóĐiều này có thể hữu ích nếu bạn muốn duy trì cấu trúc dữ liệu Pandas để sử dụng ở nơi khác. Hãy xem nó trông như thế nào
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
2Trong phần sau, bạn sẽ học cách tách các chỉ mục, tên cột và dữ liệu thành một từ điển
Chuyển đổi Khung dữ liệu Pandas thành Chỉ mục, Cột và Dữ liệu từ điển
Bằng cách sử dụng
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
9 làm đối số trong phương thức Pandas to_dict, bạn có thể tạo một từ điển chia chỉ mục, cột và dữ liệu thành các khóa riêng biệt trong từ điển kết quả. Phương thức sẽ trả về từ điển sau. # Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
0Điều này có thể hữu ích khi bạn muốn chuyển các mục giữa các cấu trúc dữ liệu, nơi bạn có thể cần chuyển các tiêu đề và chỉ mục cột tách biệt với dữ liệu của chúng
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
5Để mở rộng điều này, bạn cũng có thể chuyển
# Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
1 vào phương thức để trả về một từ điển chuyên sâu hơn. Từ điển kết quả cũng bao gồm tên chỉ mục và tên cột, nếu chúng được chỉ định riêng. Đối số này chỉ khả dụng kể từ Pandas phiên bản 1. 4. 0# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
7Trong phần sau, bạn sẽ tìm hiểu cách chuyển đổi Khung dữ liệu Pandas thành danh sách từ điển
Chuyển đổi Khung dữ liệu Pandas thành Danh sách từ điển
Một trong những cách triển khai phổ biến nhất của phương thức Pandas to_dict là chuyển đổi DataFrame thành danh sách từ điển. Điều này thể hiện rõ nhất định dạng JSON, nơi bạn có thể dễ dàng truyền dữ liệu giữa các ngôn ngữ
Bằng cách chuyển
# Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
2 vào phương thức, bạn tạo một danh sách chứa một từ điển duy nhất cho mỗi bản ghi trong DataFrame. Hãy xem nó trông như thế nào# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
9Danh sách kết quả sẽ được sắp xếp dựa trên thứ tự hiện tại của DataFrame. Nếu bạn cần đưa chỉ mục vào từ điển, trước tiên bạn có thể đặt lại chỉ mục của DataFrame. Điều này sẽ bao gồm chỉ mục trong danh sách từ điển
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
0Trong phần tiếp theo, bạn sẽ tìm hiểu cách chuyển đổi Khung dữ liệu Pandas thành từ điển chỉ số và giá trị
Chuyển đổi Khung dữ liệu Pandas thành Từ điển Chỉ mục và Giá trị
Trong phần này, bạn sẽ tìm hiểu cách chuyển đổi Pandas DataFrame thành từ điển trong đó các chỉ số là khóa và giá trị là từ điển tên cột và giá trị bản ghi. Điều này có thể được thực hiện bằng cách chuyển
# Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
3 vào phương thức to_dict# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
2Cách tiếp cận này thậm chí còn có ý nghĩa hơn khi các chỉ số chứa nhiều giá trị có ý nghĩa hơn
Chuyển đổi sê-ri Two Pandas [Cột] thành từ điển
Trong phần này, bạn sẽ học cách chuyển đổi hai cột Pandas thành từ điển. Cách tiếp cận này chỉ hoạt động nếu cột có nghĩa là giữ khóa chỉ chứa các giá trị duy nhất. Điều này là do từ điển Python được yêu cầu phải có các khóa duy nhất
Để thực hiện điều này, chúng ta có thể sử dụng chức năng zip mạnh mẽ của Python, cho phép bạn lặp lại nhiều đối tượng một cách tuần tự. Hãy xem nó trông như thế nào
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
0Chúng tôi chuyển một đối tượng zip giữa hai cột vào hàm tạo
# Convert a Pandas DataFrame to a Dictionary
# import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df.to_dict[]]
# Returns:
# {'Name': {0: 'Nik', 1: 'Evan', 2: 'Kate'},
# 'Age': {0: 33, 1: 32, 2: 33},
# 'Score': {0: 90, 1: 95, 2: 100}}
4. Điều này cho phép chúng tôi dễ dàng chuyển đổi đối tượng có thể lặp lại thành từ điểnPhần kết luận
Trong bài đăng này, bạn đã học cách chuyển đổi Pandas DataFrame thành từ điển. Pandas cung cấp nhiều cách khác nhau để thực hiện điều này. Hướng dẫn đầy đủ này bao gồm tất cả các cách khác nhau để xử lý chuyển đổi này. Lần đầu tiên bạn học cách sử dụng phương pháp
# Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
1. Sau đó, bạn cũng đã học cách tạo từ điển gồm hai cột Pandas, sử dụng hàm # Load a Sample Pandas DataFrame
import pandas as pd
df = pd.DataFrame[{
'Name': ['Nik', 'Evan', 'Kate'],
'Age': [33, 32, 33],
'Score': [90, 95, 100]
}]
print[df]
# Returns:
# Name Age Score
# 0 Nik 33 90
# 1 Evan 32 95
# 2 Kate 33 100
2