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à Show
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 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 đổiChú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ố 8Tí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. |