Phần trăm thay đổi Python

Trong hướng dẫn này, chúng ta sẽ xem cách tính phần trăm thay đổi cho các giá trị trong mỗi cột. Theo mặc định, hàm pct_change[] của Pandas sẽ tính phần trăm thay đổi cho mỗi giá trị trong một cột khi so sánh với phần tử trước đó trong cột. Một cách khác để suy nghĩ là

Tính phần trăm thay đổi so với hàng ngay trước đó

Hàm pct_change[] của Pandas cực kỳ tiện dụng để so sánh phần trăm thay đổi trong dữ liệu chuỗi thời gian

Gấu trúc pct_change[]

Trước tiên, hãy để chúng tôi tải thư viện Pandas và tạo một số dữ liệu chuỗi thời gian đồ chơi

import pandas as pd

Hãy để chúng tôi tạo một khung dữ liệu với thu nhập của các công ty công nghệ hàng đầu trong bốn năm qua. Chúng tôi có thu nhập trên mỗi công ty dưới dạng danh sách

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]

Chúng ta có thể tạo một khung dữ liệu Pandas từ bốn danh sách này

df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

Trong dữ liệu chuỗi thời gian đồ chơi của chúng tôi, chúng tôi có ba cột [công ty] và năm làm chỉ mục

df

        facebook	google	microsoft
2017	15934000000	12662000000	25489000000
2018	22112000000	30736000000	16571000000
2019	18485000000	34343000000	39240000000
2020	29146000000	40269000000	44281000000

Pandas hàm pct_change[] để tính phần trăm thay đổi

Chúng ta có thể sử dụng hàm pct_change[] và tính tỷ lệ phần trăm thay đổi trong doanh thu của mỗi công ty so với năm trước

df.pct_change[]

Bạn có thể thấy rằng hàng đầu tiên là NaN vì không có gì trước đó. Và đối với các hàng còn lại, chúng tôi có phần trăm thay đổi về thu nhập so với năm trước

        facebook	google	microsoft
2017	NaN	NaN	NaN
2018	0.387724	1.427421	-0.349876
2019	-0.164029	0.117354	1.367992
2020	0.576738	0.172553	0.128466

Theo mặc định, hàm pct_change[] tính toán bằng các hàng

df.pct_change[axis='rows']

Chúng ta cũng có thể tính phần trăm thay đổi đối với các cột bằng cách sử dụng đối số axis=”columns”. Trong ví dụ này, do phần trăm thay đổi đối với cột không có ý nghĩa, nên chúng tôi chuyển đổi khung dữ liệu trước khi sử dụng pct_change[]

df.T.pct_change[axis="columns"]

              2017	2018	2019	2020
facebook	NaN	0.387724	-0.164029	0.576738
google	NaN	1.427421	0.117354	0.172553
microsoft	NaN	-0.349876	1.367992	0.128466

Chúng tôi cũng có thể chỉ định những hàng nào chúng tôi muốn sử dụng để tính phần trăm thay đổi bằng cách sử dụng đối số "thời gian". Ví dụ: để tính phần trăm thay đổi đối với hai năm hoặc các hàng trước đó, chúng tôi sử dụng đối số “period=2”. Ở đây về cơ bản chúng tôi so sánh thu nhập từ năm 2019 đến 2017 và 2020 đến 2020. Vì điều này, chúng tôi có NaN ở hai hàng đầu tiên. Đối số này cực kỳ hữu ích để so sánh thu nhập hàng quý/thay đổi doanh thu

________số 8

Tính phần trăm thay đổi với dữ liệu bị thiếu với pct_change[]

Một tính năng hữu ích khác của hàm pct_change[] là nó có thể xử lý dữ liệu bị thiếu. Hãy để chúng tôi tạo một danh sách với các giá trị bị thiếu

google= [12662, 30736, None, 40269]
year=[2017, 2018, 2019, 2020]
facebook =[15934, 22112, 18485, 29146]
microsoft= [25489, 16571, 39240, 44281]

Chúng ta có thể tạo một khung dữ liệu bằng cách sử dụng danh sách có các giá trị bị thiếu

df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

Chúng ta có thể thấy rằng cột Google có một giá trị bị thiếu

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
1

Theo mặc định, pct_change[] xử lý dữ liệu bị thiếu và sử dụng phương thức “bfill”, sử dụng “quan sát hợp lệ tiếp theo để lấp đầy khoảng trống”

Để tính tỷ lệ phần trăm giữa hai số, hãy chia một số cho số kia và nhân kết quả với 100, e. g.

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
2. Điều này cho thấy số phần trăm thứ nhất là bao nhiêu phần trăm của số thứ hai. Trong ví dụ,
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
3 là
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
4 của
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
5

Hàm đầu tiên lấy 2 số và trả về số phần trăm của số thứ nhất so với số thứ hai

Ví dụ,

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
6 cho thấy rằng
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
7 là
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
8 của
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
9

Khi tính tỷ lệ phần trăm giữa hai số, bạn có thể cần làm tròn đến một số chữ số cụ thể sau dấu thập phân

Hàm round nhận 2 tham số sau

Tên Mô tả
df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

0số cần làm tròn thành ____21độ chính xác sau dấu thập phân
df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

1số chữ số sau dấu thập phân mà số đó phải có sau phép toán [tùy chọn]

Hàm

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
31 trả về số được làm tròn thành độ chính xác của
df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

1 sau dấu thập phân

Nếu bỏ qua

df = pd.DataFrame[{"facebook":facebook,
                   "google": google,
                   "microsoft": microsoft},
                 index=year]

1, hàm trả về số nguyên gần nhất

Hàm thứ hai cho biết cách lấy phần trăm tăng/giảm giữa hai số

Ví dụ đầu tiên cho thấy phần trăm tăng từ

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
3 lên
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
9 là
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
36

Và phần thứ hai cho thấy phần trăm tăng từ

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
37 lên
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
9 là
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
39

Nếu bạn luôn cần lấy số dương, hãy sử dụng hàm

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
40

Hàm abs trả về giá trị tuyệt đối của một số. Nói cách khác, nếu số dương, số được trả về và nếu số âm, phủ định của số được trả về

Bằng cách này, chúng tôi luôn được đảm bảo nhận được một số dương tính toán sự khác biệt về tỷ lệ phần trăm giữa hai số

Một cái gì đó bạn có thể muốn xử lý là chia cho

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
41. Chia cho
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
41 tăng một
year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
43 trong Python

Chúng tôi có thể xử lý lỗi trong khối

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
44

Nếu chúng tôi gặp lỗi

year=[2017, 2018, 2019, 2020]
facebook =[15934000000, 22112000000, 18485000000, 29146000000]
google= [12662000000, 30736000000, 34343000000, 40269000000]
microsoft= [25489000000, 16571000000, 39240000000, 44281000000]
43, chúng tôi sẽ trả về Infinity, tuy nhiên, bạn có thể xử lý lỗi theo bất kỳ cách nào khác phù hợp với trường hợp sử dụng của mình

pct_change[] hoạt động như thế nào?

Phương thức pct_change[] trả về DataFrame có phần trăm chênh lệch giữa các giá trị cho mỗi hàng và theo mặc định là hàng trước đó . Hàng nào để so sánh có thể được chỉ định với tham số thời gian.

Làm thế nào để tính phần trăm thay đổi trong gấu trúc?

Cách tính phần trăm thay đổi trong gấu trúc .
chỉ số 1. [14 – 6] / 6 = 1. 333333
chỉ số 2. [12 – 14] / 14 = -. 142857
chỉ số 3. [18 – 12] / 12 = 0. 5
chỉ số 4. [19 – 18] / 18 =. 055556

Làm cách nào để tính phần trăm thay đổi so với giá trị ban đầu bằng gấu trúc?

Đầu tiên hãy chia khung dữ liệu của bạn rồi sử dụng pct_change[] để tính phần trăm thay đổi cho mỗi ngày . Nếu tôi làm df. groupby['bảo mật']['giá']. pct_change[], điều đó sẽ mang lại cho tôi phần trăm thay đổi so với những ngày trước.

Chủ Đề