Tham khảo DataFrame
Thí dụ
Trả về phương sai cho mỗi cột:
nhập khẩu gấu trúc dưới dạng PD
Dữ liệu = [[10, 18, 11], [13, 15, 8], [9, 20, 3]]]
df = pd.dataframe (dữ liệu)
print(df.var())
Hãy tự mình thử »
Định nghĩa và cách sử dụng
Phương pháp var() tính toán phương sai cho mỗi cột.
Bằng cách chỉ định trục cột (axis='columns'), phương thức # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200000 tìm kiếm thông minh cột và trả về phương sai cho mỗi hàng.
Cú pháp
DataFrame.var (Trục, Skipna, Level, DDOF, Numeric_only)
Thông số
Các tham số là đối số từ khóa.
trục | # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200001 | Tùy chọn, trục nào cần kiểm tra, mặc định 0. |
SKIP_NA | # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200002 | Tùy chọn, mặc định đúng. Đặt thành sai nếu kết quả không nên bỏ qua các giá trị null |
mức độ | Tên số level name | Tùy chọn, mặc định không có. Chỉ định mức nào (trong một chỉ số đa phân cấp) để kiểm tra |
DDOF | Con số | Tùy chọn, mặc định 1. Chỉ định mức độ tự do của Delta |
Chỉ số | # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200003 | Không bắt buộc. Chỉ định có chỉ kiểm tra các giá trị số hay không. Mặc định không có |
Giá trị trả về
Một loạt với các phương sai.
Nếu đối số cấp được chỉ định, phương thức này sẽ trả về một đối tượng DataFrame.
Hàm này không thay đổi đối tượng DataFrame gốc.
Tham khảo DataFrame
Trong hướng dẫn này, bạn sẽ học cách tính toán phương sai của gấu trúc, bao gồm cách tính phương sai của một cột, nhiều cột và toàn bộ dữ liệu gấu trúc.
Câu trả lời nhanh: Sử dụng gấu trúc # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200004Use Pandas # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200004
- Thống kê phương sai là gì?
- Cách tính phương sai trong Python
- Đang tải một mẫu dữ liệu gấu trúc mẫu
- Cách tính phương sai trong gấu trúc cho một cột
- Cách xử lý dữ liệu bị thiếu trong việc tính toán phương sai gấu trúc
- Cách tính phương sai trong gấu trúc cho nhiều cột
- Cách tính phương sai trong gấu trúc cho một khung dữ liệu
- Sự kết luận
Thống kê phương sai là gì?
Cách tính phương sai trong Pythonrepresent a measurement of the spread between numbers in a dataset. In fact, the variance measures how far each number if from the mean of all numbers, thereby providing a ways to identify how spread our numbers are.
Đang tải một mẫu dữ liệu gấu trúc mẫu
- Cách tính phương sai trong gấu trúc cho một cột
- Cách xử lý dữ liệu bị thiếu trong việc tính toán phương sai gấu trúc
- Cách tính phương sai trong gấu trúc cho nhiều cột
Cách tính phương sai trong gấu trúc cho một khung dữ liệu
Phương sai thuật ngữ được sử dụng để biểu diễn phép đo độ lây lan giữa các số trong bộ dữ liệu. Trên thực tế, phương sai đo khoảng cách mỗi số nếu từ giá trị trung bình của tất cả các số, do đó cung cấp một cách để xác định mức độ lây lan của chúng ta.
Phương sai được tính toán bởi: Check out my in-depth tutorial that takes your from beginner to advanced for-loops user! Want to watch a video instead? Check out my YouTube tutorial here.
Cách tính phương sai trong Python
Đang tải một mẫu dữ liệu gấu trúc mẫu
# Calculate the variance from scratch in Python numbers = [1,2,3,4,5,6,7,8,9] def variance(observations): mean = sum(observations) / len(observations) squared_differences = 0 for number in observations: difference = mean - number squared_difference = difference ** 2 squared_differences += squared_difference variance = squared_differences / (len(observations) - 1) return variance print(variance(numbers)) # Returns 7.5Cách tính phương sai trong gấu trúc cho một cột
- Cách xử lý dữ liệu bị thiếu trong việc tính toán phương sai gấu trúc
- Cách tính phương sai trong gấu trúc cho nhiều cột
- Cách tính phương sai trong gấu trúc cho một khung dữ liệu
- Phương sai thuật ngữ được sử dụng để biểu diễn phép đo độ lây lan giữa các số trong bộ dữ liệu. Trên thực tế, phương sai đo khoảng cách mỗi số nếu từ giá trị trung bình của tất cả các số, do đó cung cấp một cách để xác định mức độ lây lan của chúng ta.
- Phương sai được tính toán bởi:
Tính toán chênh lệch giữa từng số và giá trị trung bình
Tính toán bình phương của từng sự khác biệt This tutorial teaches you exactly what the # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200006 function does and shows you some creative ways to use the function.
Đang tải một mẫu dữ liệu gấu trúc mẫu
Cách tính phương sai trong gấu trúc cho một cột
Hãy để tải DataFrame bằng cách sử dụng mã bên dưới:
# Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 120000Bây giờ chúng tôi có một khung dữ liệu để làm việc, hãy để bắt đầu tính toán phương sai cho khung dữ liệu gấu trúc.
Cách tính phương sai trong gấu trúc cho một cột
Gấu trúc giúp rất dễ tính toán để tính toán phương sai cho một cột. Đối với ví dụ đầu tiên của chúng tôi, chúng tôi sẽ bắt đầu bằng cách tính toán sự khác biệt cho một cột duy nhất không chứa bất kỳ dữ liệu bị thiếu nào.
Hãy để xem cách chúng ta có thể tính toán phương sai cho cột # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200008:
# Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var() print(income_variance) # Returns: 722800000.0Theo mặc định, gấu trúc sẽ sử dụng # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200009 làm mẫu số. Thay vào đó, nếu chúng tôi muốn sử dụng # Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var() print(income_variance) # Returns: 722800000.00 làm mẫu số, chúng tôi có thể sử dụng đối số # Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var() print(income_variance) # Returns: 722800000.01 (DEGREENS DEGREES) và thay đổi giá trị của nó thành # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200005.
Hãy để xem những gì nó sẽ trông như thế nào:
# Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var(ddof=0) print(income_variance) # Returns: 578240000.0Trong phần tiếp theo, bạn sẽ học cách đối phó với các giá trị bị thiếu khi tính toán phương sai gấu trúc.
Bạn muốn tìm hiểu thêm về toàn bộ danh sách Python? Kiểm tra hướng dẫn chuyên sâu này bao gồm mọi thứ bạn cần biết, với các ví dụ thực hành. Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi ở đây. Check out this in-depth tutorial that covers off everything you need to know, with hands-on examples. More of a visual learner, check out my YouTube tutorial here.
Cách xử lý dữ liệu bị thiếu trong việc tính toán phương sai gấu trúc
Trong nhiều trường hợp, bạn có thể làm việc với dữ liệu không hoàn hảo - cụ thể là, đôi khi dữ liệu có thể bị thiếu. Bởi vì điều này, bạn sẽ cần đưa ra quyết định về cách xử lý dữ liệu bị thiếu trong các tính toán của bạn. Theo mặc định, gấu trúc sẽ bỏ qua dữ liệu bị thiếu từ tính toán phương sai của nó.
Hãy cùng xem xét việc tính toán phương sai của một cột có dữ liệu bị thiếu.
# Calculating a Pandas variance for a single column with missing data import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) missing_data_variance = df['ages_missing_data'].var() print(missing_data_variance) # Returns: 290.9166666666667Bây giờ, hãy để một cái nhìn về phương sai trông như thế nào khi chúng ta bao gồm dữ liệu bị thiếu của chúng ta:
# Calculating a Pandas variance for a single column with missing data import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) missing_data_variance = df['ages_missing_data'].var(skipna=False) print(missing_data_variance) # Returns: nanChúng ta có thể thấy ở đây rằng khi một dữ liệu bị thiếu tồn tại trong một cột, thì # Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var() print(income_variance) # Returns: 722800000.03 được trả về. Để hoạt động xung quanh điều này, chúng tôi có thể thay thế dữ liệu bị thiếu bằng cách sử dụng # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200005 hoặc giá trị bị lỗi. In order to work around this, we could replace the missing data using either # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200005 or an imputed value.
Trong phần tiếp theo, bạn sẽ học cách tính phương sai cho nhiều cột trong gấu trúc.
Bạn muốn tìm hiểu làm thế nào để in đẹp một tệp JSON bằng Python? Tìm hiểu ba phương pháp khác nhau để thực hiện điều này bằng cách sử dụng hướng dẫn chuyên sâu này ở đây. Learn three different methods to accomplish this using this in-depth tutorial here.
Cách tính phương sai trong gấu trúc cho nhiều cột
Cũng có thể có nhiều lần khi bạn muốn tính toán phương sai cho nhiều cột, để thấy sự phân tán trên các biến liên quan.
Để làm điều này, chúng tôi chỉ có thể lập chỉ mục các cột mà chúng tôi muốn tính toán phương sai bằng cách sử dụng dấu ngoặc vuông kép # Calculating a Pandas variance for a single column import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) income_variance = df['income'].var() print(income_variance) # Returns: 722800000.05 và sau đó sử dụng phương thức # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200004.
Hãy để xem những gì nó trông như thế nào:
# Calculating a Pandas variance for multiple columns import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) variances = df[['ages', 'income']].var() print(variances) # Returns: # ages 218.3 # income 722800000.0 # dtype: float64Chúng ta có thể thấy ở đây rằng loạt dữ liệu được trả về cung cấp tên cột và phương sai của các cột đó.
Cần kiểm tra xem một chìa khóa có tồn tại trong từ điển Python không? Kiểm tra hướng dẫn này, trong đó dạy cho bạn năm cách khác nhau để xem nếu một chìa khóa có tồn tại trong từ điển Python, bao gồm cả cách trả về giá trị mặc định. Check out this tutorial, which teaches you five different ways of seeing if a key exists in a Python dictionary, including how to return a default value.
Cách tính phương sai trong gấu trúc cho một khung dữ liệu
Nó thậm chí còn dễ dàng hơn để tính toán các phương sai cho toàn bộ DataFrame. Pandas sẽ nhận ra nếu một cột không phải là số và sẽ loại trừ cột khỏi phân tích phương sai của nó.
Chỉ cần chuyển phương thức # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200004 cho DataFrame và Pandas sẽ trả về một chuỗi chứa các phương sai cho các cột số khác nhau.
Hãy cùng xem xét điều này trông như thế nào:
# Calculating a Pandas variance for an entire dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) variances = df.var() print(variances) # Returns: # ages 2.183000e+02 # ages_missing_data 2.909167e+02 # income 7.228000e+08 # dtype: float64Cần tự động hóa các tệp đổi tên? Kiểm tra hướng dẫn chuyên sâu này về việc sử dụng pathlib để đổi tên các tệp. Thêm một người học trực quan, toàn bộ hướng dẫn cũng có sẵn như một video trong bài viết!Check out this in-depth guide on using pathlib to rename files. More of a visual learner, the entire tutorial is also available as a video in the post!
Sự kết luận
Trong bài đăng này, bạn đã học được thống kê phương sai là gì, làm thế nào để tính toán nó từ đầu bằng cách sử dụng Python và cách dễ dàng tính toán phương sai pandas cho một hoặc nhiều cột hoặc cho toàn bộ khung dữ liệu.
Để tìm hiểu thêm về phương pháp Pandas # Loading a Sample Pandas Dataframe import pandas as pd df = pd.DataFrame({ 'name': ['James', 'Jane', 'Melissa', 'Ed', 'Neil'], 'ages': [30, 40, 32, 67, 43], 'ages_missing_data': [30, 40, 32, 67, None], 'income':[100000, 80000, 55000, 62000, 120000] }) print(df) # Returns: # name ages ages_missing_data income # 0 James 30 30.0 100000 # 1 Jane 40 40.0 80000 # 2 Melissa 32 32.0 55000 # 3 Ed 67 67.0 62000 # 4 Neil 43 NaN 1200004, hãy xem tài liệu chính thức ở đây.