Dữ liệu làm sạch 102: Texty Texty


Hoàng Thăng Long
1 năm trước
Hữu ích 0 Chia sẻ Viết bình luận 0
Đã xem 10017

Học khoa học dữ liệu

Nếu bạn đang thực hiện bất kỳ phân tích hoặc học máy nào với dữ liệu của mình, điều rất quan trọng là đảm bảo rằng dữ liệu của bạn có thể đọc được bằng máy! Tưởng tượng rằng. Điều này thường có nghĩa là loại bỏ hoặc bỏ qua (nói thông minh), bất kỳ dữ liệu nào không ở định dạng số.

Máy tính yêu số. Tôi cũng thích những con số.

Nhưng hóa ra máy tính vẫn ghét lời nói.  

Vì vậy, để bắt đầu, điều quan trọng là phải thử và biến các chữ cái phiền phức của bạn thành số.

May mắn thay Python có thể giúp đỡ.

Giống như nhiều công cụ khoa học dữ liệu, trước tiên bạn phải tạo ra nhiều thứ hơn trước khi bạn có thể tạo ra ít thứ hơn sau đó.

Đó là một trích dẫn bệnh hoạn!

Hãy thử đối phó với tình dục. Đây là một thuộc tính tốt để bắt đầu bởi vì nó chỉ có thể bao gồm hai giá trị, nam hoặc nữ. 

Chúng tôi sẽ sử dụng dữ liệu Titanic một lần nữa.

Khi chúng tôi ban đầu xem cột Sex của dữ liệu, đây là những gì chúng tôi có:

0 male
1 female
2 female
3 female
4 male
5 male
6 male
7 male
8 female

v.v ...

Về cơ bản, những gì chúng tôi muốn làm là chuyển đổi các giá trị 'nam' và 'nữ' thành số không và số 0, vì đó là những gì máy tính thích.  

Họ cũng thích chiếm lấy Trái đất và hủy diệt tất cả sự sống.

Nhưng điều đó cũng không liên quan.

Gấu trúc rất đẹp và rất may nó cho chúng ta một cách rất đơn giản để làm những gì chúng ta cần làm ở đây với  pd.get_dummies chức năng.

Chức năng này làm là tạo một tập dữ liệu mới và chia tất cả các giá trị có thể có của dữ liệu đầu vào của bạn thành các cột mới chứa dữ liệu số:

sex = pd.get_dummies(titanic['Sex'],drop_first=True)

Trong ví dụ trên, bộ dữ liệu giới tính mới sẽ trông như thế này:

M  | F
1  | 0
0  | 1
0  | 1

v.v ...

Sau đó, chúng tôi có thể xóa cột Giới tính có sẵn ...

titanic.drop(['Sex'],axis=1,inplace=True)

... và thay thế nó bằng cột giới tính mới của số không và số không.

titanic = pd.concat([titanic,sex],axis=1)

Nếu bạn không chú ý, bạn cũng đã bỏ một trong hai cột trong bộ dữ liệu mới mà bạn đã tạo, vì bạn không cần cột nam và nữ, vì hai giá trị này loại trừ lẫn nhau (bạn không thể là nam VÀ nữ Chà ... trong thời Titanic bạn không thể).

Vì vậy, những gì bạn kết thúc là một cột mới trong bộ dữ liệu chính của bạn được gọi là 'male' trông như thế này:

0 1
1 0
2 0
3 0
4 1
5 1
6 1
7 1
8 0

Xong như ăn tối ... 

mattdata.com

Hữu ích 0 Chia sẻ Viết bình luận 0
Đã xem 10017