Làm cách nào để thay đổi khung dữ liệu thành từ điển trong python?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách chuyển đổi hai cột từ khung dữ liệu thành từ điển. Đây là một trong những tình huống phổ biến, trước tiên chúng ta sẽ xem giải pháp mà tôi đã sử dụng trong một thời gian bằng cách sử dụng hàm zip[] và dict[]. Mới gần đây, tình cờ thấy một hàm pandas to_dict[]. Tiếp theo, chúng ta sẽ xem hai cách sử dụng hàm to_dict[] để chuyển đổi hai cột thành từ điển

Pandas Chuyển đổi hai cột thành từ điển

Đầu tiên chúng ta hãy tải Pandas

import pandas as pd

Chúng tôi sẽ sử dụng bộ dữ liệu của các tiểu bang Hoa Kỳ có chứa hai mã chữ cái và tên tiểu bang. Dữ liệu có sẵn tại cmdlinetips. trang github của com

states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]

Đối với các ví dụ của chúng tôi, hãy để chúng tôi tập hợp dữ liệu và dữ liệu của chúng tôi trông như thế này

df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California

Pandas Columns to Dictionary với zip

Mục tiêu của chúng tôi là tạo một từ điển với mã trạng thái làm khóa và tên trạng thái làm giá trị. Tôi đã sử dụng hàm zip[] trong Python để tạo danh sách các bộ dữ liệu và sau đó sử dụng hàm dict[] để chuyển danh sách các bộ dữ liệu thành từ điển

Trong Python 3+, hàm zip[] lấy iterables làm đối số của nó và trả về iterator

zip[df.state, df.name]


đầu ra của hàm zip[] là loại zip

type[zip[df.state, df.name]]

Chúng ta có thể sử dụng hàm list[] trên kết quả từ hàm zip[] để xem danh sách các bộ dữ liệu

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]

Áp dụng hàm dict[] trên đối tượng zip với hai lần lặp sẽ cung cấp cho chúng tôi từ điển mà chúng tôi cần

dict[zip[df.state, df.name]]

{'AK': 'Alaska',
 'AL': 'Alabama',
 'AR': 'Arkansas',
 'AZ': 'Arizona',
 'CA': 'California'}

Pandas Columns to Dictionary với chức năng to_dict[] của Pandas

Gần đây đã bắt gặp chức năng to_dict[] của Pandas. Đây là một chức năng linh hoạt để chuyển đổi khung dữ liệu Pandas hoặc Sê-ri thành từ điển. Trong hầu hết các trường hợp sử dụng, hàm to_dict[] của Pandas tạo từ điển của từ điển. Nó sử dụng tên cột làm khóa và giá trị cột làm giá trị. Nó tạo một từ điển cho các giá trị cột bằng cách sử dụng chỉ mục làm khóa

Tuy nhiên, mục đích của chúng tôi hơi khác một chút, với một trong các cột là khóa cho từ điển và cột còn lại là giá trị. Để tạo một từ điển từ hai giá trị cột, trước tiên chúng ta tạo một chuỗi Pandas với cột dành cho khóa là chỉ mục và cột còn lại là giá trị. Và sau đó chúng ta có thể áp dụng hàm to_dict[] của Pandas để lấy từ điển

pd.Series[df.name.values,index=df.state].to_dict[]
{'AK': 'Alaska',
 'AL': 'Alabama',
 'AR': 'Arkansas',
 'AZ': 'Arizona',
 'CA': 'California'}

Một cách tiếp cận khác để chuyển đổi hai giá trị cột thành từ điển trước tiên là đặt các giá trị cột mà chúng ta cần làm khóa để làm chỉ mục cho khung dữ liệu và sau đó sử dụng hàm to_dict[] của Pandas để chuyển đổi nó thành từ điển. Đ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. Do đó, chúng tôi chọn cột chúng tôi cần từ từ điển "lớn"

Trong bài viết này, bạn sẽ tìm hiểu cách chuyển đổi DataFrame của pandas thành từ điển Python. Nó giải thích việc tạo các loại từ điển khác nhau từ DataFrame của gấu trúc

Nhà phân tích dữ liệu cần thu thập dữ liệu từ các nguồn không đồng nhất như tệp CSV hoặc bảng SQL hoặc cấu trúc dữ liệu Python như từ điển, danh sách, v.v. Dữ liệu đó được chuyển đổi thành DataFrame của gấu trúc

Sau khi phân tích dữ liệu, chúng tôi cần chuyển đổi DataFrame kết quả trở lại định dạng ban đầu như tệp CSV hoặc từ điển. Hoặc đôi khi, chúng ta cần chuyển đổi nó thành một số dạng khác

Mục lục

Hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5

Gấu trúc có hàm

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5 để tạo đối tượng Python
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 từ DataFrame

states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
2

Thông số

  •     Name  Marks
    0    Nat  70.88
    1  Harry  85.90
    2    Joe  91.45
    
    Result dict
    {'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
    8. Nó được sử dụng để xác định loại kết quả
        Name  Marks
    0    Nat  70.88
    1  Harry  85.90
    2    Joe  91.45
    
    Result dict
    {'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
    7. Chúng ta có thể đưa ra một lớp thực tế hoặc một thể hiện trống
  • states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
    
    50. Nó xác định cấu trúc của các cặp khóa-giá trị trong kết quả
        Name  Marks
    0    Nat  70.88
    1  Harry  85.90
    2    Joe  91.45
    
    Result dict
    {'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
    7. Bảng bên dưới hiển thị tham số đầu vào, định dạng trong đó tham số tạo
        Name  Marks
    0    Nat  70.88
    1  Harry  85.90
    2    Joe  91.45
    
    Result dict
    {'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
    7 và khóa-giá trị của kết quả
        Name  Marks
    0    Nat  70.88
    1  Harry  85.90
    2    Joe  91.45
    
    Result dict
    {'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
    7

Ghi chú. Chữ viết tắt được phép. s biểu thị sê-ri, sp biểu thị phân tách, r biểu thị bản ghi tương tự

Định dạng tham sốDictKeyValue
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
54[Default]
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
55nhãn cộtdict của chỉ mục hàng và dữ liệu
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
56
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
57nhãn cộtdanh sách dữ liệu
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
58‘
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
59nhãn cộtloạt dữ liệu
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
50
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
51chỉ mục hàng, nhãn cột, danh sách dữ liệu chỉ mục hàng, danh sách nhãn cột, danh sách dữ liệu
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
52
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
53nhãn cộtdữ liệu
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
51chỉ mục hàng, nhãn cột, danh sách dữ liệu của chỉ mục hàng, danh sách nhãn cột, danh sách dữ liệu
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
52
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
53nhãn cột dữ liệu
df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
54____25595 tham số chức năng nhãn chỉ mục___775

Pandas DataFrame sang Python Dict

Ví dụ để chuyển đổi DataFrame của gấu trúc thành dict

Trong ví dụ dưới đây, chúng tôi đọc đầu vào từ StudentData. csv và tạo đối tượng DataFrame. Sau đó, nó được chuyển đổi thành đối tượng từ điển Python

Tệp CSV đầu vào chứa một tập dữ liệu đơn giản về dữ liệu sinh viên với hai cột, “Tên” và “Điểm“

DataFrame được chuyển đổi thành

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 bằng tham số
states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
54 mặc định

zip[df.state, df.name]


5

đầu ra

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}

DataFrame để đọc chính tả với một danh sách các giá trị

Đó là trường hợp khi chúng tôi có DataFrame, cần được chuyển đổi thành đối tượng từ điển sao cho nhãn cột phải là các khóa trong từ điển và tất cả dữ liệu của các cột sẽ được thêm vào kết quả

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 dưới dạng danh sách các giá trị đối với mỗi

Trong trường hợp đó, chúng ta có thể sử dụng tham số

states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
56 của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5

states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
5

Ví dụ

Hãy xem cách chúng ta có thể sử dụng tham số

states_df = pd.read_csv["//raw.githubusercontent.com/cmdlinetips/data/master/us_states.tsv", sep="\t"]
56 để tạo DataFrame với danh sách các giá trị

df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
5

đầu ra

type[zip[df.state, df.name]]

3

DataFrame để đọc chính tả với chuỗi giá trị gấu trúc

Khi chúng ta cần chuyển đổi DataFrame thành

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 trong khi tên cột là khóa của
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7. Và chỉ mục hàng và dữ liệu dưới dạng giá trị trong
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 cho các khóa tương ứng

type[zip[df.state, df.name]]

7

Trong trường hợp đó, chúng ta có thể sử dụng tham số

type[zip[df.state, df.name]]

37 của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5

Ví dụ

Trong ví dụ bên dưới,

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 được tạo với hai mục nhập, một cho cột 'Tên' và mục còn lại cho cột 'Nhãn hiệu' của Khung dữ liệu

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]
1

đầu ra

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]
2

DataFrame để dict không có tiêu đề và chỉ mục

Khi chúng tôi muốn thu thập dữ liệu từ DataFrame mà không có tiêu đề cột hoặc chúng tôi cần tách chỉ mục hàng và tiêu đề khỏi dữ liệu, chúng tôi có thể sử dụng tham số

df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
50 của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5. Nó chia DataFrame đầu vào thành ba phần, tôi. e. , chỉ mục hàng, nhãn cột và dữ liệu thực tế

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]
5

Ví dụ

Chúng tôi có thể lấy dữ liệu mà không cần chỉ mục hoặc tiêu đề từ kết quả

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 bằng cách sử dụng khóa "dữ liệu" như hình bên dưới

zip[df.state, df.name]


50

đầu ra

zip[df.state, df.name]


51

DataFrame để đọc chính tả theo hàng

Khi chúng tôi có một DataFrame trong đó mỗi hàng chứa dữ liệu cần được lưu trữ trong một đối tượng từ điển riêng biệt, tôi. e. , chúng ta cần một hàng dữ liệu khôn ngoan, chúng ta có thể sử dụng tham số 

df =states_df.head[]
df

state	latitude	longitude	name
0	AK	63.588753	-154.493062	Alaska
1	AL	32.318231	-86.902298	Alabama
2	AR	35.201050	-91.831833	Arkansas
3	AZ	34.048928	-111.093731	Arizona
4	CA	36.778261	-119.417932	California
52 của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5

Nó trả về một danh sách các đối tượng từ điển. Một

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 cho mỗi hàng, trong đó khóa là nhãn cột và giá trị là dữ liệu cột

zip[df.state, df.name]


52

Ví dụ

Trong ví dụ dưới đây, chúng tôi đã tạo danh sách từ điển cho từng dữ liệu sinh viên

zip[df.state, df.name]


53

đầu ra

zip[df.state, df.name]


54

DataFrame để đọc chính tả theo chỉ mục hàng

Khi chúng tôi có một DataFrame với các chỉ mục hàng và nếu chúng tôi cần chuyển đổi dữ liệu của từng hàng từ DataFrame sang

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7, chúng tôi có thể sử dụng tham số 
type[zip[df.state, df.name]]

77 của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5

Nó trả về một danh sách các đối tượng từ điển. Một

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 được tạo cho mỗi hàng. Trong đó khóa là chỉ mục hàng và giá trị là
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 của nhãn và dữ liệu cột

zip[df.state, df.name]


55

Ví dụ

Trong ví dụ dưới đây, đối tượng

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 được tạo cho mỗi hàng dữ liệu sinh viên

zip[df.state, df.name]


56

đầu ra

zip[df.state, df.name]


57

DataFrame để đọc chính tả với một cột làm khóa

Trong phần này, chúng tôi nhắm mục tiêu trường hợp sử dụng khi chúng tôi cần tạo một

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 từ DataFrame trong đó một cột là khóa của
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 và các cột khác là giá trị của
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7

Giả sử chúng ta có Khung dữ liệu của sinh viên với hai cột, Tên của sinh viên và Điểm của sinh viên. Và chúng tôi cần lưu trữ dữ liệu của từng học sinh trong

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 trong đó tên học sinh là Khóa và điểm của họ là Giá trị của
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7

Chúng ta có thể làm điều đó theo nhiều cách khác nhau, như hình dưới đây

  • Sử dụng
    list[zip[df.state, df.name]]
    
    [['AK', 'Alaska'],
     ['AL', 'Alabama'],
     ['AR', 'Arkansas'],
     ['AZ', 'Arizona'],
     ['CA', 'California']]
    
    17
  • Sử dụng
    list[zip[df.state, df.name]]
    
    [['AK', 'Alaska'],
     ['AL', 'Alabama'],
     ['AR', 'Arkansas'],
     ['AZ', 'Arizona'],
     ['CA', 'California']]
    
    18
  • Sử dụng
    list[zip[df.state, df.name]]
    
    [['AK', 'Alaska'],
     ['AL', 'Alabama'],
     ['AR', 'Arkansas'],
     ['AZ', 'Arizona'],
     ['CA', 'California']]
    
    19

Ví dụ

Ví dụ dưới đây sử dụng

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]
17 để nhận đầu ra dự kiến

zip[df.state, df.name]


58

đầu ra

zip[df.state, df.name]


59

Chúng ta cũng có thể đạt được kết quả tương tự bằng cách sử dụng hàm

list[zip[df.state, df.name]]

[['AK', 'Alaska'],
 ['AL', 'Alabama'],
 ['AR', 'Arkansas'],
 ['AZ', 'Arizona'],
 ['CA', 'California']]
21

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
0

Nếu chúng tôi muốn thu thập dữ liệu cột vào danh sách, điều đó có thể được thực hiện bằng cách áp dụng thao tác chuyển đổi trên DataFrame và sau đó chuyển đổi nó thành dict

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
1

đầu ra

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
2

DataFrame để đọc chính tả bằng tham số
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
8

Trong khi chuyển đổi một DataFrame thành

    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 nếu chúng ta cần đầu ra
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7 thuộc một loại cụ thể, chúng ta có thể sử dụng tham số into của hàm
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
5. Chúng ta có thể chỉ định tên lớp hoặc thể hiện của lớp cho kết quả
    Name  Marks
0    Nat  70.88
1  Harry  85.90
2    Joe  91.45

Result dict
{'Name': {0: 'Nat', 1: 'Harry', 2: 'Joe'}, 'Marks': {0: 70.88, 1: 85.9, 2: 91.45}}
7

Làm cách nào để chuyển đổi DataFrame thành từ điển trong Python mà không cần lập chỉ mục?

DataFrame để đọc chính tả mà không có tiêu đề và chỉ mục . use the 'split' parameter of DataFrame. hàm to_dict[].

Làm cách nào để thay thế các giá trị DataFrame bằng từ điển?

Bạn có thể sử dụng df. replace[{"Khóa học". dict}] để ánh xạ lại/thay thế các giá trị trong DataFrame của gấu trúc bằng các giá trị Từ điển. Nó cho phép bạn linh hoạt thay thế các giá trị cột bằng các biểu thức chính quy để thay thế biểu thức chính quy.

Tôi có thể lưu trữ DataFrame trong từ điển Python không?

Có thể chuyển đổi một DataFrame của gấu trúc thành một từ điển Python bằng cách sử dụng phương thức đối tượng DataFrame to_dict[] . Đầu ra có thể được chỉ định theo các hướng khác nhau bằng cách sử dụng tham số định hướng. Theo hướng từ điển, đối với mỗi cột của DataFrame, giá trị cột được liệt kê theo nhãn hàng trong từ điển.

Làm cách nào để chuyển đổi loạt gấu trúc thành từ điển?

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ủ Đề