Hướng dẫn can i replace excel with python? - tôi có thể thay thế excel bằng python không?

Sử dụng gấu trúc và numpy để thay thế excel.

Hình ảnh của tác giả (Made On Canva)

Là một người đã làm việc với Excel trong nhiều năm, tôi biết rằng ý tưởng học những điều bạn đã có thể làm trong Excel/VBA trong một môi trường hoàn toàn mới như Python không có vẻ thú vị. Tuy nhiên, tất cả những lợi ích mà môi trường Python cung cấp làm cho điều này xứng đáng. Vì lý do này, tôi đã đưa ra một hướng dẫn hữu ích và đơn giản mà tôi ước mình có khi tôi chuyển từ Excel sang Python.

Trong bài viết này, chúng tôi sẽ sử dụng Python từ Pandas và Numpy Library để thay thế nhiều chức năng Excel mà bạn có thể đã sử dụng trong quá khứ.

Table of Contents
1. The Dataset
2. Sum, Average, Max, Min, Count
- Columns (e.g. sum a column)
- Rows (e.g. sum a row)
3. IF
- Replace IF with np.where
- Replace nested IF with np.select
4. SumIf, CountIf, AverageIf
- One condition (select a column with square brackets [ ] )
- Two or more conditions (select columns and use & or |)
5. Basic Data Cleaning
- Change the case of text with .str.lower, .str.upper or .str.title
- Extract text in a column with .str.extract
- Identify whether a cell is empty with the .isnull method
6. Vlookup
- Find an element with .loc[ ]
- Merge two tables with pd.merge or pd.concat
7. Pivot Table
- Use the .pivot_table method
8. Replace Excel Graphs with Python’s Matplotlib or Seaborn

Bộ dữ liệu

Trong hướng dẫn này, chúng tôi sẽ sử dụng một tệp Excel có định dạng .csv, thường được sử dụng khi làm việc với các bộ dữ liệu. Bộ dữ liệu bao gồm các nhãn hiệu được bảo mật bởi các sinh viên trong các môn học khác nhau và sẽ giúp chúng tôi dễ dàng chuyển từ bảng tính Excel sang các khung dữ liệu Python. Bạn có thể tải xuống dữ liệu này trên Kaggle hoặc trên GitHub của tôi (kiểm tra thư mục bộ dữ liệu).

Để bắt đầu với hướng dẫn này, hãy để nhập các thư viện gấu trúc và numpy.

import pandas as pd
import numpy as np

Lưu ý: Nếu bạn không có các thư viện được cài đặt trong Python, bạn có thể dễ dàng cài đặt chúng bằng cách viết

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
7 và
df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
8on thiết bị đầu cuối hoặc dấu nhắc lệnh của bạn.

Với điều này, chúng ta có thể xem xét dữ liệu đầu tiên. Để làm như vậy, chúng tôi sử dụng

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
9. Đảm bảo rằng CSV và tập lệnh Python của bạn được đặt ở cùng một nơi (cùng một đường dẫn).

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel

Khi chúng tôi đọc tệp CSV này, chúng tôi đặt tên cho nó. Trong trường hợp này, tôi đặt tên nó là

df_excel.describe()
0. DF là viết tắt của DataFrame và nó có tên điển hình được đưa ra sau khi đọc tệp CSV. Sau khi chạy mã bên dưới, chúng tôi có được đầu ra sau.

Hình ảnh của tác giả

Điều này trông tương tự như bảng tính Excel, nhưng ở định dạng này, nó sẽ dễ dàng hơn để gây ra dữ liệu. Bây giờ tôi sẽ chỉ cho bạn trong Python cách thực hiện một số chức năng phổ biến mà bạn có thể đã sử dụng trong Excel.

Tổng, trung bình, tối đa, tối thiểu, đếm

Các chức năng phổ biến của Excel có thể dễ dàng thay thế bằng các phương pháp gấu trúc. Hãy để một cái nhìn.

Các cột (ví dụ: tổng một cột)

Nếu chúng tôi muốn nhận được hầu hết các chức năng được liệt kê ở trên, chúng tôi sẽ sử dụng phương thức

df_excel.describe()
1.

df_excel.describe()
Image bởi tác giả

Như bạn có thể thấy, với điều này, chúng tôi có được các giá trị, trung bình, tối đa và tối thiểu của tất cả các cột số.

Tuy nhiên, nếu chúng tôi muốn chọn một hàng cụ thể, trước tiên chúng tôi chọn với dấu ngoặc vuông

df_excel.describe()
2and sau đó sử dụng phương thức chúng tôi cần (
df_excel.describe()
3,
df_excel.describe()
4, v.v.). Ví dụ, hãy để tính toán trung bình của điểm số toán học.

In [1]: df_excel['math score'].mean()
Out [1]: 66.089

Đây là một số phương pháp khác bạn có thể sử dụng.

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()

Hàng (ví dụ: tổng một hàng)

Bây giờ, hãy để nói rằng chúng tôi muốn tính trung bình của 3 điểm (toán học, đọc và viết). Các giá trị đó nằm trong các cột khác nhau, vì vậy chúng tôi có 2 tùy chọn. Chúng ta có thể tổng hợp từng cột

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3

Hoặc sử dụng phương thức chúng tôi đã sử dụng trước đây để tổng hợp các giá trị trong một cột, nhưng trong trường hợp này, chúng tôi thêm

df_excel.describe()
5

df_excel['average'] = df_excel.mean(axis=1)

Chúng tôi cũng đã thêm một cột mới

df_excel.describe()
6 khi tính trung bình. Chúng tôi sẽ sử dụng cột mới này cho phần tiếp theo (
df_excel.describe()
7).

Hãy nhớ rằng trong ví dụ này, chúng tôi có thể sử dụng tùy chọn thứ hai vì các giá trị số duy nhất nằm trong các cột mong muốn ((toán học, đọc và ghi). Nếu có một cột bổ sung mà chúng tôi không muốn xem xét trong tổng , chúng ta chỉ nên sử dụng tùy chọn đầu tiên.

Trong trường hợp chúng tôi muốn đếm số lượng dữ liệu cụ thể trong một cột, chúng tôi có thể sử dụng phương thức

df_excel.describe()
8

In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482

NẾU

Chúng ta có thể dễ dàng thay thế Excel, nếu chức năng bằng cách sử dụng Numpy.

Thay thế nếu bằng NP. Ở đâu

Hãy để tưởng tượng chúng tôi muốn biết liệu một học sinh đã vượt qua hay thất bại trong một bài kiểm tra và tạo một cột mới với thông tin đó. Chúng ta có thể dễ dàng làm điều đó với mã sau.

df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')

Như bạn có thể thấy

df_excel.describe()
9 cần 3 đối số - điều kiện, giá trị nếu điều kiện là đúng và giá trị nếu điều kiện là sai.

Thay thế lồng nhau nếu bằng np.select

Hãy để tưởng tượng chúng tôi muốn cho các lớp từ A đến F dựa trên điểm số thu được. Trong trường hợp này, chúng tôi có nhiều hơn 2 giá trị, vì vậy chúng tôi sử dụng

In [1]: df_excel['math score'].mean()
Out [1]: 66.089
0

In [1]: df_excel['math score'].mean()
Out [1]: 66.089
1Needs to Đối số - Danh sách các điều kiện và danh sách các giá trị. Một danh sách trong Python được thể hiện bằng dấu ngoặc vuông
In [1]: df_excel['math score'].mean()
Out [1]: 66.089
2

import pandas as pd
import numpy as np
0

Hãy nhớ rằng mỗi điều kiện nên nằm trong dấu ngoặc đơn. Bây giờ chúng tôi sử dụng phương thức

In [1]: df_excel['math score'].mean()
Out [1]: 66.089
3 và gán nó cho cột
In [1]: df_excel['math score'].mean()
Out [1]: 66.089
4 mới.
Now we use the
In [1]: df_excel['math score'].mean()
Out [1]: 66.089
3 method and assign it to a new
In [1]: df_excel['math score'].mean()
Out [1]: 66.089
4 column.

import pandas as pd
import numpy as np
1

Bây giờ 5 hàng đầu tiên đầu ra sẽ trông như thế này.

Hình ảnh của tác giả

Điều này trông tương tự như bảng tính Excel, nhưng ở định dạng này, nó sẽ dễ dàng hơn để gây ra dữ liệu. Bây giờ tôi sẽ chỉ cho bạn trong Python cách thực hiện một số chức năng phổ biến mà bạn có thể đã sử dụng trong Excel.

Tổng, trung bình, tối đa, tối thiểu, đếm

Các chức năng phổ biến của Excel có thể dễ dàng thay thế bằng các phương pháp gấu trúc. Hãy để một cái nhìn.

Một điều kiện (chọn một cột có dấu ngoặc vuông [])

Hãy để tưởng tượng chúng ta muốn tổng số điểm cho giới tính nữ. Để làm như vậy, trước tiên, chúng tôi viết điều kiện

In [1]: df_excel['math score'].mean()
Out [1]: 66.089
8and sau đó. Chúng tôi chọn điều kiện đó bên trong khung
df_excel.describe()
0 bằng cách sử dụng dấu ngoặc vuông
In [1]: df_excel['math score'].mean()
Out [1]: 66.089
2

import pandas as pd
import numpy as np
2

Chúng tôi chỉ chọn giới tính nữ và đặt nó vào một khung dữ liệu được gọi là

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
1. Bây giờ chúng tôi có thể thực hiện bất kỳ tính toán nào chúng tôi đã thấy trong phần Sum Sum, trung bình, tối đa, tối thiểu, đếm.

Hai hoặc nhiều điều kiện (chọn cột và sử dụng & hoặc |)

Nếu chúng ta có hai hoặc nhiều điều kiện, mã sẽ trông giống với quy định trên, nhưng với một số thay đổi. Hãy tưởng tượng chúng tôi muốn tính điểm số của nữ trong nhóm B

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
2

import pandas as pd
import numpy as np
3

Vì có 2 điều kiện chúng tôi có thể sử dụng & | đại diện và/hoặc tương ứng. Hãy nhớ rằng mỗi điều kiện nên nằm trong dấu ngoặc đơn.Keep in mind that each condition should be within parenthesis.

Bây giờ hãy để tổng hợp các điểm số.

import pandas as pd
import numpy as np
4

Trong trường hợp này, tôi đã sử dụng

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
3Method để chỉ cho bạn một cách khác để tạo một cột mới trong khi thực hiện các tính toán.

Làm sạch dữ liệu cơ bản

Chúng tôi sẽ kiểm tra một vài phương pháp được sử dụng để làm sạch dữ liệu. Trong trường hợp bạn muốn biết tất cả các phương pháp được sử dụng để làm sạch dữ liệu, hãy kiểm tra hướng dẫn đầy đủ tôi đã viết về cách làm sạch và chuẩn bị dữ liệu trong Python.

Chúng tôi sẽ tiếp tục sử dụng khung

df_excel.describe()
0 mà chúng tôi đã xác định trước đó.

Thay đổi trường hợp văn bản với .Str.Lower, .str.upper hoặc .str.title

Để truy cập các chuỗi có trong một cột, chúng tôi sử dụng

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
5 thì chúng tôi có thể thay đổi trường hợp văn bản với

import pandas as pd
import numpy as np
5

Để lưu các giá trị, chúng ta có thể ghi đè một cột như trong mã bên dưới.

import pandas as pd
import numpy as np
6

Nhưng trong trường hợp này, chúng tôi sẽ để lại các giá trị như vậy.

Trích xuất văn bản trong một cột với .str.extract

Chúng ta có thể dễ dàng trích xuất văn bản từ một cột với

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
6. Thêm vào đó, nếu chúng ta muốn trích xuất các mẫu cụ thể của một văn bản, chúng ta có thể sử dụng các biểu thức thông thường.

Hãy để chúng tôi tưởng tượng chúng tôi chỉ muốn trích xuất các từ trong trường hợp trên trong cột

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
7 (ví dụ: B B từ nhóm nhóm B B B). Để làm như vậy, chúng tôi viết mã sau.

import pandas as pd
import numpy as np
7

Trong trường hợp này, chúng tôi đã sử dụng biểu thức thông thường

df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
8 ở đâu
df_excel['math score'].mean()
df_excel['math score'].max()
df_excel['math score'].min()
df_excel['math score'].count()
9 chỉ ra các từ trong trường hợp trên, trong khi dấu ngoặc đơn
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
0is cần thiết để chọn mẫu mong muốn. Biểu thức thông thường có thể trông đáng sợ, nhưng chúng đơn giản hơn bạn nghĩ. Trong liên kết dưới đây, bạn sẽ tìm thấy một hướng dẫn đơn giản mà tôi đã thực hiện để dễ dàng tìm hiểu các biểu thức thông thường.

Xác định xem một ô có trống với phương pháp .isnull

Để thay thế Excel, Counta, trong Python, chúng ta có thể sử dụng

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
1 để tìm các giá trị trống.

import pandas as pd
import numpy as np
8

Trong trường hợp này, không có giá trị trống nên kết quả sẽ là một khung dữ liệu trống.

Vlookup

Để tìm các yếu tố như Vlookup làm trong Excel, chúng tôi sẽ sử dụng

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
2,
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
3 hoặc
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
4 dựa trên vấn đề chúng tôi muốn giải quyết.

Chỉ cho những ví dụ này, chúng tôi sẽ làm việc với 2 bảng tính Excel. Đầu tiên là cùng một sinh viên của người Viking, chúng tôi đã làm việc cho đến nay, trong khi tệp thứ hai là tệp CSV có tên là LanguLAGESCORE, mà tôi đã tạo với ngẫu nhiên

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 và
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
6Values ​​(bạn có thể tìm thấy tệp này trên github của tôi). Hãy cùng đọc cả hai tệp với
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
7As mà chúng tôi đã làm trước đây.values (you can find this file on my Github). Let’s read both files with
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
7as we did before.

import pandas as pd
import numpy as np
9

Bây giờ, chúng tôi sẽ tạo một cột

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 trên
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
9 vì vậy nó có một cột chung với
df_excel['average'] = df_excel.mean(axis=1)
0. Để làm như vậy, chúng tôi chạy mã sau.

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
0

Như bạn có thể thấy, tôi đã tạo một cột

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 dựa trên chỉ mục.
df_excel['average'] = df_excel.mean(axis=1)
2gets thoát khỏi chỉ mục bằng cách thêm nó làm cột. Bạn có thể bỏ chỉ mục thực hiện
df_excel['average'] = df_excel.mean(axis=1)
3But Trong trường hợp này, tôi sẽ đổi tên cột
df_excel['average'] = df_excel.mean(axis=1)
4 mới này bằng cách sử dụng phương thức
df_excel['average'] = df_excel.mean(axis=1)
5. Với điều này, chúng tôi có một cột
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 mới.

Tìm một phần tử với .loc []

Tìm một phần tử sử dụng gấu trúc cũng dễ như viết

df_excel['average'] = df_excel.mean(axis=1)
7 bên trong
df_excel['average'] = df_excel.mean(axis=1)
8 Chúng tôi phải bao gồm nhãn hàng và nhãn. Ler Ler tìm thấy thông tin liên quan đến hàng 100.

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
1

Chúng tôi cũng có thể đặt điều kiện. Ví dụ: chúng tôi muốn có được điểm toán cho học sinh với

df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 bằng 100.

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
2

Điều này có nghĩa là học sinh với

In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
0100 có điểm
In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
1 trong toán học.

Hợp nhất hai bảng với pd.merge hoặc pd.concat

Hãy để tưởng tượng bạn muốn thêm điểm ngôn ngữ của tất cả các sinh viên đã làm bài kiểm tra. Trong trường hợp này, chúng tôi sử dụng

In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
2. Điều này yêu cầu 2 bảng có 1 cột chung. Trong trường hợp này, cột này là cột
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5.

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
3

Trên đây, bạn có thể thấy rằng một đối số khác là cần thiết

In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
4. Điều này cho biết cách hợp nhất được thực hiện. Trái và phải sẽ có ____85 và
df_excel['average'] = df_excel.mean(axis=1)
0 làm tài liệu tham khảo cho kết quả cuối cùng, trong khi
In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
7 sẽ chỉ cung cấp dữ liệu chung bên trong cột
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5.

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

In [2]: df_excel['gender'].value_counts()
Out [2]:
female 518
male 482
9 cho cùng mục đích, nhưng bạn phải đặt
df_excel['average'] = (df_excel['math score'] + df_excel['reading score'] + df_excel['writing score'])/3
5 làm chỉ mục trước khi kết hợp các khung hình và bao gồm các khung làm danh sách (trong ngoặc
df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
1)

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
4

Tất cả các giá trị không phù hợp với nhau sẽ nhận được NAN, nhưng chúng tôi có thể thay thế nó bằng bất kỳ giá trị nào bằng cách sử dụng phương thức ____92.

Bàn xoay

Sử dụng phương thức .Pivot_Table

Phương pháp pivot_table pivot_table hoạt động tương tự như phương pháp bạn tìm thấy trong Excel.

Hãy để tưởng tượng chúng tôi muốn có được điểm toán và viết của tất cả các nhóm bên trong

df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
3Column.

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
5

Đối số

df_excel['average'] = df_excel.mean(axis=1)
4 sẽ nhóm
df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
5Column, trong khi đối số
df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
6 sẽ lấy các giá trị số để hiển thị. Cuối cùng, các tính toán được thực hiện bởi
df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
7. Trong trường hợp này, chúng tôi chọn giá trị trung bình .________ 98AS Một kết quả, chúng tôi có được bảng trục sau.

Hình ảnh của tác giả

Thay thế đồ thị excel bằng python từ matplotlib hoặc seeborn

Python chứa các thư viện khác nhau để làm cho trực quan hóa tốt như những ưu đãi Excel.

Hãy để Lừa làm cho một Barplot đơn giản dựa trên kết quả của

df_excel['pass/fail'] = np.where(df_excel['average'] > 70, 'Pass', 'Fail')
9we được tạo ra ở trên. Đầu tiên, chúng tôi nhập
import pandas as pd
import numpy as np
00 và sau đó chúng tôi sử dụng
import pandas as pd
import numpy as np
01

df_excel = pd.read_csv('StudentsPerformance.csv')
df_excel
6

Đối số đầu tiên của

import pandas as pd
import numpy as np
02is nhãn và thứ hai là giá trị số. Sau đó, chúng tôi hiển thị kết quả với
import pandas as pd
import numpy as np
03

Hình ảnh của tác giả

Thay thế đồ thị excel bằng python từ matplotlib hoặc seeborn

Cái nào tốt hơn hoặc trăn?

Python có thể mở rộng quy mô khi nói đến nhiều nguồn dữ liệu. Trong khi Excel là cả kho lưu trữ dữ liệu và công cụ tính toán, Python hoàn toàn không liên quan đến dữ liệu. Vì Python có rất nhiều thư viện tuyệt vời, nên việc đọc dữ liệu từ nhiều nguồn như CSV, Excel, JSON và SQL là tầm thường.

Làm thế nào để tôi thay đổi từ Excel sang Python?

Trong bài viết này, chúng tôi sẽ thay đổi giá trị trong bảng tính Excel bằng Python ...
Mở tệp Excel ..
Tạo một bản sao có thể ghi của tệp Excel đã mở ..
Đọc tờ đầu tiên để viết trong bản sao có thể ghi ..
Sửa đổi giá trị tại vị trí mong muốn ..
Lưu sách bài tập ..
Chạy chương trình..

Python có dễ hơn excel không?

Nói chung, Excel dễ bắt đầu hơn nhiều và thân thiện với người dùng hơn nhiều, mặc dù một số công cụ miễn phí ngoài kia có nghĩa là giúp Python dễ học.Excel is much easier to get started in and is much more user friendly, despite the handful of free tools out there meant to make Python easy to learn.

Một sự thay thế tốt cho Excel là gì?

Trên hết, những lựa chọn thay thế cho Excel là miễn phí ...
Google Sheets.Hình ảnh: Google.....
Tấm zoho.Hình ảnh: Tờ Zoho.....
Microsoft Office Excel trực tuyến.Hình ảnh: ... .
Apache OpenOffice Calc.Hình ảnh: Apache.....
LibreOffice calc.Hình ảnh: Quỹ tài liệu.....
Bảng tính văn phòng WPS.Hình ảnh: Phần mềm WPS Office ..