1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích báo cáo tài chính bằng Python

Connected

Bài tập

Cập nhật hàm do người dùng định nghĩa để vẽ biểu đồ

Hãy nhớ lại hàm tạo biểu đồ từ một bài tập trước:

def make_plot(dataset, ratio, comp_type):
  whole_dat = []
  for industry in comp_type:
    dat = dataset.loc[dataset["comp_type"]==industry]
    dat_avg = dat.pivot_table(index="Year",
                              values=ratio).reset_index()
    dat_avg["company"] = f"Avg {type}"
    dat_avg["comp_type"] = industry
    whole_dat.append(pd.concat([dat,
                                dat_avg]))

  plot_df = pd.concat(whole_dat).reset_index(drop=True)
  sns.relplot(data=plot_df,
              x="Year",
              y="gross_margin",
              hue="company",
              col="comp_type",
              kind="line")
  plt.show()
  plt.close()

Lưu ý hàm này chỉ tạo được biểu đồ đường với trục x là năm. Trong bài tập này, bạn sẽ làm quen với phiên bản cập nhật của hàm này.

Hướng dẫn 1/3

undefined XP
    1
    2
    3

Câu hỏi

Hàm đã được cập nhật như sau:

def make_plot_updated(dataset, x, y, kind, comp_type):
  whole_dat = []
  for industry in comp_type:
    dat = dataset.loc[dataset["comp_type"]==industry]
    values = [x,y if y!="Year" else x]
    dat_avg = dat.pivot_table(index="Year",
                              values=values).reset_index()
    dat_avg = dat_avg.loc[:,
                          ~dat_avg.columns.duplicated()]
    dat_avg["company"] = f"Avg {type}"
    dat_avg["comp_type"] = industry
    whole_dat.append(pd.concat([dat, dat_avg]))

  plot_df = pd.concat(whole_dat).reset_index(drop=True)
  sns.relplot(data=plot_df,
              x=x,
              y=y,
              hue="company",
              col="comp_type",
              kind=kind)
  plt.show()
  plt.close()

Trong đoạn mã trên, whole_dat là một list, và lệnh .append(x) về cơ bản là nối thêm x vào list mà nó áp dụng, ở đây là whole_dat.

Chọn phương án đúng bên dưới. Hàm đã được nạp sẵn trong console để bạn thử. DataFrame pandas dataset cũng có sẵn với operating margin và tỷ lệ nợ trên vốn chủ sở hữu (debt-to-equity) đã được tính.

Các phương án trả lời