To_dict Python

{'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
    # 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 hoạt động như thế nào
  • 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
    # 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

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ển

Chuyể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
0

Trong 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
2

Trong 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
7

Trong 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
9

Danh 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
0

Trong 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
2

Cá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
0

Chú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ển

Phầ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

to_dict trong Python là gì?

to_dict[] được dùng để chuyển đổi khung dữ liệu thành từ điển chuỗi hoặc danh sách giống như kiểu dữ liệu tùy thuộc vào tham số định hướng . cú pháp. Khung dữ liệu. to_dict[orient='dict', into=]

Làm cách nào để chuyển đổi 2 cột của khung dữ liệu thành từ điển?

Một cách tiếp cận khác để chuyển đổi hai giá trị cột thành từ điển là trước tiên hãy đặt các giá trị cột mà chúng ta cần làm khóa để lập chỉ mục cho khung dữ liệu, sau đó sử dụng hàm to_dict[] của Pandas . Điều này tạo ra một từ điển cho tất cả các cột trong khung dữ liệu. . This creates a dictionary for all columns in the dataframe.

Làm cách nào để chuyển đổi dict thành dataframe trong Python?

Chúng tôi có thể chuyển đổi từ điển thành khung dữ liệu gấu trúc bằng cách sử dụng lệnh pd. Khung dữ liệu. phương thức lớp from_dict[] .

Làm cách nào để chuyển đổi chuỗi thành dict trong Python?

hàm to_dict[] được sử dụng để chuyển đổi đối tượng Sê-ri đã cho thành {nhãn -> giá trị} dict hoặc đối tượng giống dict.

Chủ Đề