Thay đổi tất cả các giá trị trong từ điển Python

Chúng tôi thường được yêu cầu ánh xạ lại các giá trị cột Pandas DataFrame bằng từ điển [Dict], bạn có thể đạt được điều này bằng cách sử dụng phương pháp


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
8. Phương thức

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
8 lấy các tham số và chữ ký khác nhau, chúng tôi sẽ sử dụng phương thức lấy Dictionary[Dict] để ánh xạ lại các giá trị cột. Như bạn đã biết Từ điển là một cặp khóa-giá trị trong đó khóa là giá trị hiện có trên cột và giá trị là giá trị bằng chữ bạn muốn thay thế bằng

Trong khi làm việc với dữ liệu trong Pandas DataFrame, chúng tôi thực hiện một loạt các thao tác trên dữ liệu như một phần của quá trình dọn dẹp hoặc tiêu chuẩn hóa để lấy dữ liệu ở dạng mong muốn. Một trong những hoạt động này có thể là chúng tôi muốn ánh xạ lại các giá trị của một cột cụ thể trong DataFrame, một ví dụ được sử dụng nhiều nhất sẽ là chuyển đổi mã giai đoạn 2 chữ cái thành tên đầy đủ hoặc ngược lại. Hãy thảo luận về một số cách với các ví dụ để ánh xạ lại các giá trị trong cột DataFrame bằng từ điển

Trong ví dụ dưới đây, tôi có một DataFrame với cột


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
0 và tôi sẽ ánh xạ lại các giá trị của cột này bằng một giá trị mới

1. Ánh xạ lại các giá trị cột bằng Dict bằng cách sử dụng Pandas DataFrame. thay thế[]

Bạn có thể sử dụng


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
1 để á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

Trước tiên, hãy tạo một Khung dữ liệu Pandas


import pandas as pd
import numpy as np
technologies= {
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
    'Fee' :[22000,25000,23000,24000,26000],
    'Duration':['30days','50days','30days', None,np.nan],
    'Discount':[1000,2300,1000,1200,2500]
          }
df = pd.DataFrame[technologies]
print[df]

Năng suất dưới kết quả. Như bạn thấy DataFrame có 4 cột


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
2,

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
3,

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
4 và

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
5


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500

Bây giờ chúng ta sẽ ánh xạ lại các giá trị của cột


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
6‘ theo mã tương ứng của chúng bằng cách sử dụng hàm

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
7


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]

Sản lượng dưới sản lượng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
3

Trong trường hợp nếu bạn muốn ánh xạ lại các giá trị cột trên DataFrame hiện có, hãy sử dụng


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
8


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
5

2. Ánh xạ lại các giá trị cột Không có hoặc NaN

sử dụng


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
9 để ánh xạ lại các giá trị không hoặc NaN trong DataFrame của gấu trúc với các giá trị Từ điển. Để ánh xạ lại các giá trị

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
30/

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
31 của cột

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
32‘ theo mã tương ứng của chúng bằng cách sử dụng hàm

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
7. Đọc cách thay thế các giá trị Không có/NaN bằng chuỗi rỗng trong pandas


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
1

Sản lượng dưới sản lượng


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
2

3. Ánh xạ lại nhiều giá trị cột

Bạn muốn ánh xạ lại các giá trị trong nhiều cột Khóa học và Thời lượng trong DataFrame của gấu trúc. Bạn có thể sử dụng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
34 mã tương ứng của chúng bằng hàm

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
7. Nó truy xuất cả

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
2 và

# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
4 đều là các giá trị cột được ánh xạ lại


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
7

Sản lượng dưới sản lượng


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
8

4. Ánh xạ lại nhiều cột có cùng giá trị

Bạn có thể sử dụng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
38 để ánh xạ lại nhiều cột có cùng giá trị trong DataFrame của gấu trúc. Sử dụng

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
39 ánh xạ lại nhiều cột để truy xuất các giá trị

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
50


# Difine Dict with the key-value pair to remap.
dict = {"Spark" : 'S', "PySpark" : 'P', "Hadoop": 'H', "Python" : 'P', "Pandas": 'P'}
df2=df.replace[{"Courses": dict}]
print[df2]
2

Sản lượng dưới sản lượng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
0

5. Ánh xạ lại các giá trị trực tiếp trên sê-ri

Bây giờ chúng tôi đang ánh xạ lại các giá trị trực tiếp trên chuỗi của cột____22 theo các mã tương ứng bằng cách sử dụng hàm


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
52


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
1

Sản lượng dưới sản lượng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
3

6. Sử dụng map[] để ánh xạ lại các giá trị cột trong Pandas

Pandas cũng cung cấp phương pháp


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
53 có thể được sử dụng để sắp xếp lại các giá trị cột đơn hoặc nhiều cột

Sử dụng map[] để ánh xạ lại các giá trị cột trong pandas DataFrame có thể chia danh sách thành các cột khác nhau và sử dụng bản đồ để thay thế các giá trị. Từ điển có nhiều hơn một vài khóa, sử dụng map[] có thể nhanh hơn nhiều so với replace[]. Sử dụng cú pháp này.


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
54có hai phiên bản của phương pháp này, tùy thuộc vào việc từ điển của bạn có ánh xạ toàn diện tất cả các giá trị có thể hay không

7. Lập bản đồ toàn diện


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
3

Sản lượng dưới sản lượng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
4

8. Ánh xạ không đầy đủ

Nếu bạn có một ánh xạ không đầy đủ và muốn giữ lại các biến hiện có cho những trường hợp không khớp, bạn có thể thêm


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
55


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
5

Sản lượng dưới sản lượng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
6

9. Hoàn thành ví dụ về từ điển để ánh xạ lại các giá trị cột trong Pandas DataFrame


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
7

Phần kết luận

Trong bài viết này, bạn đã học cách ánh xạ lại các giá trị cột bằng Dict trong Pandas DataFrame bằng cách sử dụng


   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
8 và

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
57. với

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
8, ánh xạ lại các giá trị cột không hoặc cột nan, ánh xạ lại nhiều giá trị cột và các giá trị giống nhau. Ngoài ra, hàm

   Courses    Fee Duration  Discount
0    Spark  22000   30days      1000
1  PySpark  25000   50days      2300
2   Hadoop  23000   30days      1000
3   Python  24000     None      1200
4   Pandas  26000      NaN      2500
57, bạn đã học pandas remap các giá trị trong một cột với hai cách tiếp cận từ điển [Dict]. Ánh xạ toàn diện và Ánh xạ không toàn diện

Có thể thay đổi giá trị từ điển Python không?

Thay đổi thành phần trong từ điển . Để sửa đổi nhiều giá trị cùng một lúc, chúng ta có thể sử dụng. update[], vì hàm này ghi đè lên các khóa hiện có. We can change the value of an item by accessing the key using square brackets [[]]. To modify multiple values at once, we can use the . update[] method, since this function overwrites existing keys.

Làm cách nào để đặt tất cả các giá trị trong từ điển Python?

Sử dụng khả năng hiểu chính tả để đặt tất cả các giá trị trong từ điển thành 0 , e. g. my_dict = {khóa. 0 cho khóa trong my_dict}. Quá trình hiểu chính tả lặp lại từ điển và đặt giá trị của từng khóa thành 0.

Làm cách nào để sửa đổi từ điển trong Python?

Sửa đổi một giá trị trong từ điển khá giống với sửa đổi một phần tử trong danh sách. Bạn đặt tên của từ điển, sau đó đặt khóa trong ngoặc vuông và đặt giá trị đó bằng với giá trị mới .

Chủ Đề