Thao tác dữ liệu trong Python là gì

Pandas là một trong những thư viện thao tác và phân tích dữ liệu phổ biến nhất trong hệ sinh thái khoa học dữ liệu. Nó là như vậy vì một vài lý do

Một trong những lý do là Pandas cho phép thực hiện các thao tác phức tạp một cách đơn giản và trực quan. Bạn có thể đạt được nhiều hơn những gì bạn mong đợi trong một dòng mã Pandas

Trong bài viết này, chúng ta sẽ xem qua 4 thao tác thao tác dữ liệu thoạt nghe có vẻ hơi phức tạp. Sau khi chúng tôi hoàn thành, bạn sẽ ngạc nhiên về mức độ đơn giản của việc hoàn thành chúng với Pandas

Vì các bộ dữ liệu thực tế có thể khá lộn xộn, thao tác hoặc làm sạch dữ liệu là một phần chính của quy trình khoa học dữ liệu

Tôi đã chuẩn bị một bộ dữ liệu mẫu thể hiện một số vấn đề mà chúng tôi có thể gặp phải trong các bộ dữ liệu thực tế

Ghi chú. Câu chuyện này ban đầu được xuất bản trên datasciencehowto. com

Tôi cũng sẽ chia sẻ mã tạo khung dữ liệu trong trường hợp bạn muốn tự mình thực hành

df = pd.DataFrame[{    "last_date": ["2021-03-14", "2021-01-13", 
"2021-09-15", "2021-01-01",
"2020-12-10","2021-04-02"],
"price": ["$950.0", "$450.5", "$1,100.5",
"$360.0", "$850.0", "$440.5"],
"duration": ["2 days", "1 week", "5 days",
"1 month", "10 days", "2 weeks"],
"amenities": ["tv, dishwasher", "TV, washer",
"dishwasher, washer", "washer",
"tv", "dishwasher"]
}]
df

df [hình ảnh của tác giả]

Các giá trị thuộc các loại khác nhau như ngày, số, văn bản và danh sách. Tuy nhiên, chúng được lưu trữ với kiểu dữ liệu đối tượng

df.dtypeslast_date    object
price object
duration object
amenities object
dtype: object

Chúng ta phải luôn lưu trữ dữ liệu với kiểu dữ liệu phù hợp. Nếu không, chúng tôi sẽ không thể sử dụng một số thao tác dành riêng cho loại dữ liệu

thủ thuật 1. Làm giá hợp lý

Cột giá dường như dành cho chúng tôi nhưng không dành cho phần mềm. “$360. 0” là một chuỗi ký tự và không hàm ý số lượng hoặc giá trị số

Hãy cập nhật nó thành định dạng mà máy tính thực sự có thể hiểu được đó là 360

df["price_cleaned"] = df["price"].str[1:].str.replace[",",""].astype["float"]

Bước đầu tiên là lấy giá trị bắt đầu từ ký tự thứ hai vì ký tự đầu tiên là “$”

Sau đó, chúng tôi xóa dấu phẩy được sử dụng làm dấu tách hàng nghìn bằng cách sử dụng hàm thay thế trong bộ truy cập str

Bước cuối cùng là thay đổi kiểu dữ liệu thành float

Đây là khung dữ liệu được cập nhật

df [hình ảnh của tác giả]

thủ thuật 2. Có truyền hình?

Các tiện nghi được liệt kê trong cột tiện nghi. Giả sử tôi đặc biệt quan tâm đến TV và muốn tạo một cột cho biết có TV hay không

Có nhiều cách để thực hiện nhiệm vụ này. Một trong những cách hiệu quả là sử dụng khả năng hiểu danh sách, đặc biệt nếu bạn đang làm việc với khung dữ liệu lớn

Chúng ta cần tính đến việc “TV” và “tv” giống nhau

df["has_tv"] = pd.Series[['tv' in row.lower[] for row in df.amenities]].replace[{False:0, True:1}]

Trước tiên hãy giải thích về cách hiểu danh sách

['tv' in row.lower[] for row in df.amenities]
  • Nó chiếm tất cả các hàng trong cột tiện nghi
  • Chuyển đổi nó thành chữ thường để chúng tôi bắt được cả “TV” và “tv”
  • Kiểm tra xem “tv” có tồn tại trong hàng không

Việc hiểu danh sách này trả về Đúng hoặc Sai nhưng tôi muốn chuyển đổi chúng thành 1 hoặc 0 tương ứng

Chức năng thay thế của Pandas có thể dễ dàng thực hiện nhiệm vụ này nên tôi chuyển đổi danh sách thành chuỗi Pandas và sau đó áp dụng chức năng thay thế

Khung dữ liệu bây giờ trông như thế này

df [hình ảnh của tác giả]

thủ thuật 3. Mục nhập bao nhiêu tuổi?

Có một cột gọi là "ngày cuối cùng" trong khung dữ liệu. Tôi quan tâm nhiều hơn đến tuổi của mục nhập hoặc quảng cáo này. Vì vậy, tôi cần tính số ngày từ hôm nay đến ngày cuối cùng

Đoạn mã sau tạo một cột có tên là “kể từ ngày cuối cùng” chứa thông tin tôi cần

df["since_last_date"] = [pd.to_datetime["2021-11-25"] - df["last_date"].astype["datetime64"]].dt.days

Chúng tôi có thể tính toán sự khác biệt giữa hai ngày miễn là chúng có kiểu dữ liệu phù hợp. Vì vậy, tôi cập nhật kiểu dữ liệu của cột ngày cuối cùng bằng hàm “astype”

Hàm “to_datetime” lấy một chuỗi và chuyển đổi nó thành ngày tháng

Đầu ra của hoạt động trừ này là như sau

0   256 days
1 316 days
2 71 days
3 328 days
4 350 days
5 237 days
Name: last_date, dtype: timedelta64[ns]

Chúng ta có thể trích xuất số lượng từ đầu ra này bằng cách sử dụng phương thức “ngày” trong bộ truy cập “dt”

df [hình ảnh của tác giả]

thủ thuật 4. Thời lượng tiêu chuẩn?

Cột thời lượng biểu thị một khoảng thời gian nhưng ở các đơn vị khác nhau. Tôi nghĩ bạn sẽ đồng ý rằng nó không hữu ích lắm ở định dạng này

Hãy tạo một cột thời lượng mới hiển thị thời lượng dưới dạng số ngày

Những gì chúng ta cần làm là

  • Lấy từ thứ hai và chuyển đổi nó thành số ngày
  • Nhân giá trị này với số lượng hiển thị trong từ đầu tiên
df["duration_days"] = df["duration"].str.split[" ", expand=True][1].replace[
{"week": 7, "weeks": 7, "days": 1, "day": 1, "month": 30}
].astype["int"] * df["duration"].str.split[" ", expand=True][0].astype["int"]

Mã này có vẻ phức tạp nhưng nó sẽ trở nên rất rõ ràng khi chúng ta xem qua từng bước

Phần sau lấy từ thứ hai trong cột thời lượng [e. g. tuần, tuần, tháng]

________số 8

Hàm replace thay thế các từ bằng số ngày thích hợp

replace[
{"week": 7, "weeks": 7, "days": 1, "day": 1, "month": 30}
]

Sau đó, hàm “astype” chuyển đổi kiểu dữ liệu thành số nguyên

Phần thứ hai của phép nhân lấy từ đầu tiên trong cột thời lượng và chuyển đổi kiểu dữ liệu thành số nguyên

df.dtypeslast_date    object
price object
duration object
amenities object
dtype: object
0

Nhân hai giá trị này cho chúng ta một khoảng thời gian tiêu chuẩn về số ngày

df [hình ảnh của tác giả]

Bạn không phải thực hiện tất cả các thao tác này cùng một lúc. Một tùy chọn khác là tạo một cột có đơn vị như tháng, tuần, ngày, v.v. Sau đó, bạn có thể cập nhật giá trị cho phù hợp

Pandas cung cấp nhiều chức năng và phương pháp giúp đơn giản hóa và đẩy nhanh quá trình thao tác và phân tích dữ liệu

Xem xét lượng thời gian dành cho việc làm sạch dữ liệu thô, Pandas là một công cụ rất quan trọng đối với cả nhà khoa học dữ liệu và nhà phân tích dữ liệu

Bạn có thể trở thành thành viên Phương tiện để mở khóa quyền truy cập đầy đủ vào bài viết của tôi, cộng với phần còn lại của Phương tiện. Nếu bạn làm như vậy bằng cách sử dụng liên kết sau, tôi sẽ nhận được một phần phí thành viên của bạn mà bạn không phải trả thêm phí

thao tác dữ liệu với ví dụ là gì?

Thao tác dữ liệu là quá trình thay đổi hoặc chỉnh sửa dữ liệu để làm cho dữ liệu dễ đọc và có tổ chức hơn . Ví dụ: bạn có thể sắp xếp dữ liệu theo thứ tự bảng chữ cái để đẩy nhanh quá trình tìm kiếm thông tin hữu ích. Một ví dụ khác về thao tác dữ liệu là quản lý trang web.

Thao túng dữ liệu là gì?

Thao tác dữ liệu đề cập đến quá trình điều chỉnh dữ liệu để làm cho dữ liệu được tổ chức và dễ đọc hơn . Ngôn ngữ thao tác dữ liệu, hay DML, là ngôn ngữ lập trình điều chỉnh dữ liệu bằng cách chèn, xóa và sửa đổi dữ liệu trong cơ sở dữ liệu, chẳng hạn như để xóa hoặc ánh xạ dữ liệu.

Làm cách nào để thao tác dữ liệu trong cơ sở dữ liệu với Python?

Trong bài viết này, thư viện 'PANDAS' đã được sử dụng để thao tác dữ liệu. .
tập dữ liệu. .
Đưa dữ liệu của bạn vào DataFrame. .
Lưu một khung dữ liệu. .
Làm việc với toàn bộ DataFrame. .
Làm việc với hàng — Phần 1. .
Làm việc với cột — Phần 1. .
Chức năng do người dùng xác định. .
Làm sạch tập dữ liệu

Chủ Đề