Cái nào tốt hơn để phân tích dữ liệu excel hay python?

Không thể phủ nhận Excel là công cụ được sử dụng phổ biến nhất trong phân tích dữ liệu. Sự đơn giản của nó kết hợp với sức mạnh của nó khi thành thạo khiến nó trở thành lựa chọn hàng đầu của nhiều người. Tuy nhiên, khi so sánh với Pandas, nó nhanh chóng trở nên rõ ràng rằng Excel thực sự hạn chế như thế nào. Đơn giản là nó không thể sánh vai với Pandas về những gì nó cung cấp. Vì vậy, câu hỏi thực sự là tại sao nhiều người sử dụng Excel hơn Pandas?

Câu trả lời cho câu hỏi đó rất đơn giản. Hầu hết mọi người không quen thuộc với Python và thấy ý tưởng học bất kỳ ngôn ngữ lập trình nào thật đáng sợ. Ngoài ra, con người là sinh vật của thói quen. Một khi chúng ta có thói quen, chúng ta có xu hướng ở trong đó. Đối với hầu hết các nhà phân tích dữ liệu, thói quen đó là sử dụng Excel. Chuyển sang Pandas và học một số Python có vẻ rắc rối và tốn thời gian đến mức hầu hết mọi người thà ở trong vùng thoải mái của họ hơn là dành thời gian để học một thứ hoàn toàn mới và có khả năng khó.  

Nhưng sự thật là học Pandas không hề khó, ngay cả với những người không rành về lập trình. Một quan niệm sai lầm lớn là người ta cần phải là một lập trình viên chuyên nghiệp để sử dụng một công cụ như Pandas. Trên thực tế, nó chỉ cần một số kiến ​​thức cơ bản về Python. Tất nhiên, bạn có thể chọn tiếp tục học sau khi nắm vững kiến ​​thức cơ bản, nhưng dừng lại khi bạn học Python vừa đủ để sử dụng Pandas hiệu quả không vi phạm bất kỳ quy tắc nào. Viết mã không chỉ dành riêng cho các lập trình viên và biết một chút về viết mã sẽ đi một chặng đường dài

Tất cả điều này giả định rằng Pandas là một công cụ đủ tốt để đảm bảo dành thêm thời gian để tìm hiểu. Hầu hết những người chuyển sang Pandas đã quá quen với tốc độ của nó đến nỗi họ quên mất họ mất bao lâu để hoàn thành cùng một tác vụ bằng Excel. Điều này trở nên đặc biệt rõ ràng khi bạn xem xét mức độ tự động hóa có thể đạt được bằng Python và Pandas


Ưu điểm của Pandas so với Excel là gì?

Ưu điểm của Pandas so với Excel chỉ là sản phẩm của cách Pandas hoạt động. Vì được xây dựng trên NumPy [Python số], Pandas tự hào có một số lợi thế so với Excel

  • Khả năng mở rộng -  Pandas chỉ bị giới hạn bởi phần cứng và có thể thao tác lượng dữ liệu lớn hơn
  • Tốc độ -  Pandas nhanh hơn nhiều so với Excel, điều này đặc biệt đáng chú ý khi làm việc với lượng dữ liệu lớn hơn
  • Tự động hóa -  Rất nhiều nhiệm vụ có thể đạt được với Pandas đều cực kỳ dễ tự động hóa, giúp giảm số lượng các nhiệm vụ tẻ nhạt và lặp đi lặp lại cần được thực hiện hàng ngày
  • Khả năng diễn giải -  Rất dễ diễn giải điều gì xảy ra khi mỗi tác vụ được chạy và việc tìm cũng như sửa lỗi tương đối dễ dàng
  • Các chức năng nâng cao - Thực hiện phân tích thống kê nâng cao và tạo trực quan hóa phức tạp rất đơn giản

Đây không phải là lợi thế duy nhất của Pandas so với Excel. Một trong những lợi thế lớn nhất đến từ chính Python. Pandas được xây dựng để tích hợp hoàn hảo với các mô-đun máy học trong Python. Điều này mang lại rất nhiều lợi ích mà nó sẽ cần một bài báo của riêng mình để khám phá đúng. Để cho ngắn gọn, chúng ta hãy nói rằng việc học Pandas khiến các nhà phân tích dữ liệu chỉ còn một bước nữa là chuyển sang kỹ sư máy học

Pandas vs Excel so sánh

Hãy so sánh cách một số tác vụ phổ biến được thực hiện trong Excel, cùng với các tác vụ tương tự trong Pandas, để phá vỡ quan niệm sai lầm rằng Pandas cực kỳ khó và mất nhiều thời gian để học. Tôi sẽ sử dụng bộ dữ liệu IMDB-Movie-data để trình bày các tác vụ sau

  • Nhìn và biểu diễn dữ liệu
  • Chọn dữ liệu
  • Sắp xếp dữ liệu
  • Lọc dữ liệu
  • trừ dữ liệu
  • Hợp nhất bộ dữ liệu
  • Xoay vòng dữ liệu

Nhìn và biểu diễn dữ liệu

Excel

Trong Excel, dữ liệu được biểu diễn dưới dạng bảng tính Excel. Bảng tính đó chứa các cột, hàng và ô. Không có lệnh đặc biệt nào để xem bảng tính. Nó tự động ở đó khi bạn mở một tệp có định dạng tương thích. Chúng ta hãy xem bảng tính đại diện cho tập dữ liệu


gấu trúc

Trong Pandas, bạn đọc dữ liệu từ các bảng bằng phương pháp đọc thích hợp. Ví dụ: nếu bạn muốn đọc tệp Excel, bạn sẽ sử dụng phương thức read_excel. Vì dữ liệu được sử dụng trong ví dụ này ở dạng tệp CSV, bạn nên sử dụng phương thức read_csv. Khi bạn đọc dữ liệu, bạn lưu trữ dữ liệu của mình trong cái mà họ gọi là DataFrame để đảm bảo bạn có thể dễ dàng truy cập dữ liệu đó. Để xem dữ liệu của bạn, bạn sẽ tạo một DataFrame và đặt tên là "phim". Khi DataFrame của bạn được tạo, bạn có thể xem nó. Để làm điều đó, bạn sử dụng phương thức head[]. Theo mặc định, nó hiển thị năm hàng trên cùng, nhưng trong ví dụ này, hãy hiển thị 16 hàng trên cùng

Mã số

movies = pd.read_csv["IMDB-Movie-data.csv"]
movies.head[16]

Kết quả

Muốn tìm hiểu thêm?

Chọn dữ liệu

Excel

Rất dễ dàng để chọn dữ liệu trong Excel. Bạn có thể sử dụng phím tắt hoặc thậm chí chỉ cần nhấp bằng chuột. Hãy chọn cột Metascore bằng cách nhấp vào nó

gấu trúc

Chọn dữ liệu trong Pandas rất đơn giản. Trước tiên, bạn viết tên của DataFrame của mình, sau đó viết tên của cột bạn muốn chọn trong ngoặc vuông theo sau đó. Hãy chọn các cột giống như bạn đã chọn trong Excel, cột "Metascore"


Mã số

movies["Metascore"]

Kết quả

Chọn nhiều cột cũng dễ dàng. Bạn chỉ cần nhập tên các cột muốn chọn

Mã số

movies[["Title", "Metascore"]]

Kết quả


Sắp xếp dữ liệu

Excel

Để chứng minh cách sắp xếp hoạt động, hãy sắp xếp dữ liệu dựa trên cột "Metascore" theo thứ tự tăng dần. Để sắp xếp dữ liệu trong Excel, bạn cần chọn dữ liệu muốn sắp xếp.  

Sau đó, bạn có thể nhấp vào nút "Sắp xếp và lọc". Khi được cung cấp tùy chọn để chọn cách bạn muốn sắp xếp, hãy chọn tùy chọn để sắp xếp dữ liệu theo các giá trị bên trong cột "Metascore" theo thứ tự tăng dần

Kết quả bạn sẽ nhận được là

Bạn đã sắp xếp thành công dữ liệu của mình. Phim có giá trị nhỏ nhất trong cột "Metascore" hiện là hàng đầu tiên trong bảng của bạn

gấu trúc

Để sắp xếp dữ liệu trong Pandas, bạn sẽ sử dụng phương thức sort_values[]. Bạn chỉ cần xác định cột mà bạn muốn sắp xếp theo. Theo mặc định, Pandas sắp xếp theo thứ tự tăng dần

Mã số

movies.sort_values["Metascore"]


Kết quả

Lọc dữ liệu

Để chứng minh việc lọc dữ liệu, bạn sẽ lọc tập dữ liệu của mình để chỉ hiển thị những bộ phim ra mắt vào năm 2016. Trước tiên, bạn cần chọn ô đầu tiên trong cột "Tiêu đề". Sau đó, bạn cần chuyển đến tab "Dữ liệu" và nhấp vào "Bộ lọc"

Bạn có thể thấy các mũi tên nhỏ xuất hiện bên cạnh tên cột

Nếu bạn nhấp vào mũi tên bên cạnh "Năm", bạn sẽ thấy rằng hiện tại, tất cả các năm đều được chọn

Bạn chỉ muốn xem phim của năm 2016, vì vậy bạn chỉ cần chọn năm đó

Kết quả bạn nhận được là một bảng tính chỉ chứa những hàng có giá trị bên trong cột "Năm" là 2016

gấu trúc

Lọc dữ liệu trong Pandas rất giống với việc chọn dữ liệu. Hãy lọc DataFrame gốc. Bạn cần chọn DataFrame muốn lọc rồi viết điều kiện bên trong dấu ngoặc vuông.  

Bạn cần xác định rằng bạn muốn sử dụng Khung dữ liệu "phim" và bạn chỉ muốn xem phần của Khung dữ liệu có giá trị của cột "Năm" là 2016

Mã số

movies[movies["Year"] == 2016]

Kết quả


Trừ dữ liệu

Excel

Để trừ trong Excel, trước tiên bạn cần nhập tên cột mới. Hãy gọi cột đó là "Quality_difference".  

Cột đó sẽ giữ các giá trị mà bạn nhận được khi trừ giá trị bên trong cột "Xếp hạng" khỏi giá trị bên trong cột "Siêu dữ liệu". Để làm điều đó, bạn cần nhấp vào ô bên dưới ô chứa tên cột và nhập công thức.  

Khi công thức đã được nhập và giá trị cho trường đó đã được tính toán, bạn có thể nhấp đúp vào phần dưới cùng của trường đó để truyền công thức qua toàn bộ cột

gấu trúc

Để đạt được kết quả tương tự trong Pandas, bạn cần viết một dòng mã. Trước tiên, bạn chỉ định tên của cột mới, sau đó cách tính giá trị sẽ có trong đó

Mã số

movies["Quality_difference"] = movies["Metascore"] movies["Rating"]

Kết quả


Bạn đạt được kết quả tương tự như với Excel nhưng tốn ít công sức hơn rất nhiều

Hợp nhất bộ dữ liệu

Excel

Nếu bạn có hai bảng tính và muốn hợp nhất chúng bằng một số cột chung, bạn sử dụng hàm VLOOKUP[]. Hãy hợp nhất bảng gốc với bảng chứa cột "Tiêu đề" và "Điểm_đọc"

Để kết nối bảng thứ hai với bảng ban đầu dựa trên các cột "Tiêu đề" [vì cả hai đều có tiêu đề], trước tiên bạn sẽ tạo một cột có tên "Reader_score" trong bảng tính đầu tiên. Đây là tên của cột sẽ được thêm vào khi bạn hợp nhất bảng đầu tiên với bảng thứ hai

Sau khi tạo cột, bạn cần hợp nhất các bảng dựa trên cột "Tiêu đề". Để làm điều đó, bạn sẽ nhấp vào ô trống đầu tiên của cột bạn vừa tạo trong bảng gốc và bắt đầu viết mã VLOOKUP[]

Sau khi viết

=TÌM KIẾM[

bấm ctrl+A nó sẽ đưa bạn đến màn hình như thế này

Trong trường "Lookup_value", bạn cần nhập hàng đầu tiên của cột "Tiêu đề", là B2. Vì bạn cũng sẽ truyền mã đó qua toàn bộ cột sau này, nên bạn sẽ cố định giá trị này để kết quả trông như thế này

Sau đó, trong trường "Table_array", bạn cần nhập toàn bộ bảng thứ hai mà bạn có, bắt đầu bằng A1 và kết thúc bằng B1001. Khi bạn làm điều đó, bạn cũng sẽ đóng băng các giá trị này để đảm bảo rằng bạn có thể truyền công thức qua toàn bộ cột. Kết quả trông như thế này

Tiếp theo, bạn cần thêm một giá trị vào trường "Col_index_num". Bạn sẽ nhập số hai vì đó là số cột mà bạn muốn hợp nhất với bảng tính đầu tiên

Để hoàn tất, bạn sẽ đặt "Range_lookup" thành 0. Điều này sẽ báo hiệu cho chương trình rằng bạn đang tìm kiếm các kết quả khớp chính xác

Kết quả bạn sẽ nhận được từ đây là

Để sao chép công thức, bạn chỉ cần nhấp đúp vào phần dưới cùng của hàng đầu tiên


gấu trúc

Rất dễ dàng để hợp nhất các bộ dữ liệu bằng Pandas. Bạn có thể thực hiện toàn bộ quy trình với hai dòng mã, sử dụng chức năng hợp nhất. Dòng đầu tiên tải tập dữ liệu thứ hai vào DataFrame thứ hai và dòng tiếp theo thực hiện quy trình hợp nhất. Khi hợp nhất, bạn chỉ định

  • tập dữ liệu đầu tiên để hợp nhất
  • tập dữ liệu thứ hai để hợp nhất
  • cách bạn muốn hợp nhất dữ liệu của mình
  • cột họ có điểm chung

Mã số

reader_scores = pd.read_csv["reader_scores.csv"]
movies = pd.merge[movies, reader_scores, how="left", on="Title"]

Kết quả


Quy trình hợp nhất trong Pandas rất linh hoạt. Ngoài việc thực hiện các phép hợp nhất như thế này, bạn cũng có thể sửa đổi quy trình hợp nhất bằng cách sửa đổi biến "làm thế nào" bên trong mã. Bạn có thể sử dụng các phép hợp nhất bên trái, hợp nhất bên phải, hợp nhất bên trong và hợp nhất bên ngoài bằng cách chỉ thay đổi một biến

bảng tổng hợp

Excel

Để xoay một bảng trong Excel, điều đầu tiên bạn cần làm là chuyển đến tab "Chèn" rồi nhấp vào "PivotTable". Hãy chọn bảng hiện tại của bạn và chọn mà bạn muốn tạo một trang tính mới. Theo dõi điều đó bằng cách nhấp vào OK


Màn hình của bạn sẽ thay đổi thành như thế này

 


Trong bảng bên phải, bạn cần chọn cột "Năm" và "Thời gian chạy [phút]" mà bạn muốn xem. Bạn cũng cần chọn "Năm" trong ROWS và "Thời gian chạy [Phút]" trong GIÁ TRỊ. Bảng kết quả sẽ như thế này.

Theo mặc định, nó sẽ tổng hợp các giá trị trong cột "Thời gian chạy [Phút]". Vì bạn muốn biết thời lượng trung bình của một bộ phim trong mỗi năm, bạn cần nhấp vào dưới GIÁ TRỊ ở dưới cùng bên phải rồi chọn "Cài đặt trường giá trị".  

 


Sau khi ở trong bảng điều khiển, bạn có thể chọn nơi bạn muốn hiển thị các giá trị trung bình.

kết quả cuối cùng là


gấu trúc

Để xoay vòng dữ liệu, hãy sử dụng hàm Pandas pivot_table. Bạn cần một dòng mã duy nhất, mặc dù dài hơn một chút, để tạo bảng tổng hợp trong Pandas. Bạn cần chỉ định

  • tên cho bảng mới của bạn sẽ được tạo bằng cách xoay vòng
  • tập dữ liệu mà bạn muốn xoay vòng bằng cách xác định nó trong biến dữ liệu
  • cột sẽ là chỉ mục của bạn bằng cách xác định nó trong biến chỉ mục
  • cột mà bạn muốn phân tích bằng cách xác định nó trong biến giá trị
  • rằng bạn muốn sử dụng hàm "mean" bằng cách xác định nó trong biến aggfunc

Hãy tách một dòng đó thành nhiều dòng để phù hợp với các bước trên

Mã số

table = pd.pivot_table[
 data=movies,
 index="Year",
 values="Runtime [Minutes]", 
 aggfunc= "mean"]

Kết quả

Advanced Pandas có thể làm gì?

Để kết thúc, hãy chứng minh sức mạnh thực sự của Pandas bằng cách chỉ ra bạn có thể đạt được bao nhiêu với rất ít mã. Tôi sẽ giới thiệu hai phương pháp khác nhau cung cấp cho bạn rất nhiều thông tin và chỉ yêu cầu một dòng mã

________số 8

Một phương thức Pandas rất hữu ích là phương thức description[]. Bạn sử dụng nó để thống kê mô tả về tất cả các biến trong tập dữ liệu của mình. Theo mặc định, nó chỉ phân tích dữ liệu số, nhưng bạn có thể sửa đổi nó để phân tích cả dữ liệu không phải số

Đối với dữ liệu số, chỉ mục của kết quả sẽ bao gồm

  • đếm - mô tả số điểm dữ liệu bên trong một cột
  • trung bình - giá trị trung bình
  • std - độ lệch chuẩn
  • min - giá trị nhỏ nhất
  • 25% - giá trị phân vị thứ 25
  • 50% - giá trị phân vị thứ 50
  • 75% - giá trị phân vị thứ 75
  • max - giá trị lớn nhất

Đối với dữ liệu không phải là số, chỉ mục của kết quả sẽ bao gồm

  • đếm - mô tả số điểm dữ liệu bên trong cột đó
  • duy nhất - hiển thị số lượng giá trị duy nhất
  • top - hiển thị giá trị phổ biến nhất
  • freq - hiển thị tần số của giá trị phổ biến nhất


Mã cho số

movies.describe[]

Kết quả

Mã cho phi số

movies["Metascore"]
0

Kết quả

movies["Metascore"]
1

Bạn sử dụng phương thức info[] để tìm hiểu một số thông tin chung về tập dữ liệu của mình. Nó sẽ cung cấp cho bạn thông tin về

  • loại dữ liệu bạn có trong mỗi cột
  • có bao nhiêu điểm dữ liệu
  • tập dữ liệu của bạn chiếm bao nhiêu bộ nhớ

Mã số

movies["Metascore"]
2

Kết quả

 

Phần kết luận

Khi bạn học cách sử dụng nó, Pandas, về nhiều mặt, vượt trội so với Excel. Tốc độ, khả năng mở rộng, tự động hóa, v.v. đều là những ưu điểm của Pandas so với Excel và ít nhất sẽ thúc đẩy bạn cân nhắc thay đổi công cụ họ sử dụng để phân tích dữ liệu. Tuy nhiên, có lẽ lợi ích lớn nhất khi sử dụng Pandas cho loại phân tích dữ liệu này là Pandas rất dễ

Nếu bạn không biết lập trình, bất cứ thứ gì liên quan đến lập trình có vẻ khó và tốn thời gian, nhưng điều này hoàn toàn không đúng khi nói đến Pandas. Nếu công việc của bạn liên quan đến nhiều dữ liệu sắp xếp hoặc phân tích, việc chuyển từ Excel sang Pandas có thể giúp bạn tự động hóa rất nhiều phần nhàm chán hơn trong công việc của mình.  


Đạt được một số thành thạo cơ bản trong Pandas mất rất ít thời gian, ngay cả khi bạn không có kinh nghiệm lập trình. Cũng giống như mọi công cụ khác, Pandas rất dễ sử dụng ở mức độ cơ bản. Không giống như các công cụ khác, bạn có thể đạt được rất nhiều điều chỉ bằng cách sử dụng những kiến ​​thức cơ bản về Pandas. Trên thực tế, những điều cơ bản có thể là tất cả những gì bạn cần học

Trong bài viết này, tôi đã chỉ cho bạn cách thực hiện một số tác vụ phổ biến nhất trong cả Pandas và Excel. Lúc đầu, Excel có vẻ đơn giản hơn để sử dụng vì có thể hoàn thành nhiều tác vụ bằng cách mở các tab khác nhau hoặc nhấp vào các ô. Hy vọng rằng các ví dụ trong bài viết này đã chứng minh rằng bạn có thể thực hiện các tác vụ khác nhau trong Pandas nhanh hơn nhiều so với trong Excel. Điều này không có nghĩa là bạn phải chuyển hoàn toàn sang Pandas từ Excel. Thay vào đó, bạn có thể bắt đầu bằng cách sử dụng Pandas cho những nhiệm vụ mà bạn thấy tẻ nhạt và lặp đi lặp lại.  

Thay đổi rất khó và việc học cách sử dụng một công cụ mới có vẻ khó khăn và tốn thời gian đến mức phải bỏ cuộc trước khi bắt đầu. Hãy thử Pandas. Bạn có thể thấy rằng bạn thích sử dụng nó rất nhiều hoặc bạn thích mọi lúc nó có thể giúp bạn tiết kiệm. Cuối cùng, điều quan trọng là giữ một tâm trí cởi mở và ít nhất hãy thử một công cụ có thể giúp cuộc sống của bạn đơn giản hơn

Python có tốt hơn để phân tích dữ liệu không?

Python là ngôn ngữ lập trình đa mục đích phổ biến được sử dụng rộng rãi nhờ tính linh hoạt cũng như bộ sưu tập thư viện phong phú có giá trị cho phân tích và tính toán phức tạp.

Khi nào tôi nên sử dụng Python thay vì Excel?

Khi nói đến việc mở rộng quy mô và làm việc với nhiều tập dữ liệu lớn hơn , Python có một số lợi thế nghiêm trọng không thể bỏ qua. Excel chỉ có thể xử lý rất nhiều dữ liệu và bạn càng có nhiều dữ liệu và tab trong sổ làm việc của mình thì càng khó quản lý và tệp sẽ càng chậm.

Bạn có thể sử dụng Python để phân tích dữ liệu Excel không?

Để giải quyết vấn đề này, Các nhà phát triển Python đã nghĩ ra cách đọc, viết, phân tích tất cả các loại định dạng tệp, bao gồm cả bảng tính . Phần hướng dẫn hôm nay sẽ chủ yếu về cách bạn có thể sử dụng ngôn ngữ lập trình Python và làm việc với Excel mà không cần trực tiếp sử dụng ứng dụng Microsoft Excel.

Chủ Đề