Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Đôi khi chúng ta cần chuyển đổi các giá trị chuỗi trong khung dữ liệu gấu trúc thành một số nguyên duy nhất để các thuật toán có thể hoạt động tốt hơn. Vì vậy, chúng tôi gán giá trị số duy nhất cho một giá trị chuỗi trong gấu trúc DataFrame.
Examples:
Input : --------------------- | Name | Gender --------------------- 0 Ram Male 1 Seeta Female 2 Kartik Male 3 Niti Female 4 Naitik Male Output : | Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
Lưu ý: Trước khi thực thi, hãy tạo một tệp estecl{IDE} first, before moving on to the solution.
Giả sử chúng ta có một bảng chứa tên và cột giới tính. Trong cột giới tính, có hai loại nam và nữ và cho rằng chúng tôi muốn gán 1 cho nam và 2 cho nữ.
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 2
Được đề xuất: Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp.
Phương pháp 1:
Sau đó lặp lại bằng cách sử dụng vòng lặp qua cột giới tính của DataFrame và thay thế các giá trị ở bất cứ nơi nào các khóa được tìm thấy.
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 23
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 24
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 19
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 25
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 27
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 28
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 29
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 10
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 11
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 13
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 15
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 17
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
8['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
9| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 10
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 13
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 14
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 15
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 16
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 17
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 14
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 19
['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
0| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
1['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
To create a dictionary containing two
elements with following key-value pair:
Key Value
male 1
female 2
6
3['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
4 ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
5['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
6 ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
7['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
Method 2 is also similar but requires no dictionary file and takes fewer lines of code. In this, we internally iterate through Gender column
of DataFrame and change the values if the condition matches.
Phương pháp 1:
Sau đó lặp lại bằng cách sử dụng vòng lặp qua cột giới tính của DataFrame và thay thế các giá trị ở bất cứ nơi nào các khóa được tìm thấy.
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 23
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 24
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 19
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 25
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 27
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 28
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 29
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 10
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 11
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 13
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 15
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 17
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
8['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
9| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 10
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 26
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 12
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 13
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 14
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 15
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 16
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 17
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 14
| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 19
['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
0| Name | Gender --------------------- 0 Ram 1 1 Seeta 2 2 Kartik 1 3 Niti 2 4 Naitik 1
1['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
To create a dictionary containing two
elements with following key-value pair:
Key Value
male 1
female 2
6
3['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
4 ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
5['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
6 ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
7['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
- Đầu ra:
- Phương pháp 2: Phương pháp 2 cũng tương tự nhưng không yêu cầu tệp từ điển và có ít dòng mã hơn. Trong điều này, chúng tôi lặp lại nội bộ thông qua cột giới tính của DataFrame và thay đổi các giá trị nếu điều kiện khớp với nhau.
7>>> l= ['X','X',52,39,81,12,'X',62,94]
>>>
>>> map[lambda x:0 if x=="X" else x,l]
[0, 0, 52, 39, 81, 12, 0, 62, 94]
To create a dictionary containing two
elements with following key-value pair:
Key Value
male 1
female 2
6To create a dictionary containing two
elements with following key-value pair:
Key Value
male 1
female 2
6 | Name | Gender
---------------------
0 Ram 1
1 Seeta 2
2 Kartik 1
3 Niti 2
4 Naitik 1
3
1>>> [i if i!='X' else 0 for i in l]
[0, 0, 52, 39, 81, 12, 0, 62, 94]
To create a dictionary containing two
elements with following key-value pair:
Key Value
male 1
female 2
6 | Name | Gender
---------------------
0 Ram 1
1 Seeta 2
2 Kartik 1
3 Niti 2
4 Naitik 1
5
- //pandas.pydata.org
- //pandas.pydata.org/pandas-docs/stable/tutorials.html
Tôi có một danh sách, có các chỉ số chủ yếu là số nguyên, nhưng đôi khi, có một số mục 'X'. Tôi cần tất cả các mục để thực hiện các hoạt động danh sách với danh sách này và một danh sách khác. Làm thế nào tôi có thể thay thế các mục 'X' là các chuỗi bằng số nguyên số 0, trong khi vẫn giữ danh sách cùng độ dài.
Tôi đã thử sử dụng nếu các câu lệnh để thay thế mục nếu đó là 'X', nhưng điều đó chỉ cho tôi một lỗi loại.
Ví dụ: Thay đổi
['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
đến
[0, 0, 52, 39, 81, 12, 0, 62, 94]
trong đó tất cả các mục trong danh sách thứ hai là int.
Đã hỏi ngày 20 tháng 5 năm 2017 lúc 1:53May 20, 2017 at 1:53
Cố gắng sử dụng
l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
l = [0 if element == 'X' else element for element in l]
print[l]
3 để làm điều này:>>> l= ['X','X',52,39,81,12,'X',62,94]
>>>
>>> map[lambda x:0 if x=="X" else x,l]
[0, 0, 52, 39, 81, 12, 0, 62, 94]
Nếu bạn đang sử dụng python3.x,
l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
l = [0 if element == 'X' else element for element in l]
print[l]
4 trả về iterator, vì vậy bạn cần sử dụng l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
l = [0 if element == 'X' else element for element in l]
print[l]
5 để chuyển đổi nó thành danh sách.Hoặc sử dụng danh sách hiểu:
>>> [i if i!='X' else 0 for i in l]
[0, 0, 52, 39, 81, 12, 0, 62, 94]
Đã trả lời ngày 20 tháng 5 năm 2017 lúc 1:55May 20, 2017 at 1:55
McGradymcgradyMcGrady
10.1K13 Huy hiệu vàng46 Huy hiệu bạc64 Huy hiệu đồng13 gold badges46 silver badges64 bronze badges
1
Trước hết, bạn cần cải thiện việc sử dụng thuật ngữ của bạn. Các chỉ số là tất cả các số nguyên, đó là các yếu tố là sự pha trộn của chuỗi và số nguyên.
Dung dịch
l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
l = [0 if element == 'X' else element for element in l]
print[l]
Giải pháp hiệu suất tốt hơn, với thay thế tại chỗ
l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
for i in range[len[l]]:
l[i] = 0 if l[i] == 'X' else l[i]
print[l]
Đã trả lời ngày 20 tháng 5 năm 2017 lúc 1:57May 20, 2017 at 1:57
EyueldkeyueldkEyuelDK
2.8392 Huy hiệu vàng18 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges18 silver badges25 bronze badges
Nếu hiệu suất là một mối quan tâm, bạn có thể sử dụng
l = ['X', 'X', 52, 39, 81, 12, 'X', 62, 94]
l = [0 if element == 'X' else element for element in l]
print[l]
6:To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 20
Sau đó, nếu bạn muốn tất cả các int:
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 21
Đã trả lời ngày 20 tháng 5 năm 2017 lúc 2:42May 20, 2017 at 2:42
Dawgdawgdawg
93.2K23 Huy hiệu vàng122 Huy hiệu bạc200 Huy hiệu đồng23 gold badges122 silver badges200 bronze badges
Thử cái này:
To create a dictionary containing two elements with following key-value pair: Key Value male 1 female 22
Đã trả lời ngày 22 tháng 3 lúc 19:31Mar 22 at 19:31