Làm thế nào để bạn định dạng ký hiệu khoa học trong python?

Trong bài viết này, nhiệm vụ là hiển thị ký hiệu khoa học dưới dạng float trong Python. Ký hiệu khoa học có nghĩa là bất kỳ số nào được biểu thị bằng lũy ​​thừa của 10. ví dụ- 340 có thể được viết bằng ký hiệu khoa học là 3. 4x102. trong trăn, chúng tôi sử dụng str. format() trên một số có “{. e}” để định dạng số thành ký hiệu khoa học. str. format() định dạng số dưới dạng số float, theo sau là “e+” và lũy thừa thích hợp là 10. Ví dụ- 340 sẽ được hiển thị là 3. 4e+2

Ví dụ

-51000000000. 0000000 trong ký hiệu khoa học dẫn đến  “5. 10e+10”, trong đó không. sau “e+” biểu thị sức mạnh của 10
-5189  trong ký hiệu khoa học dẫn đến  “5. 189e+3”
-439929  trong ký hiệu khoa học dẫn đến  “4. 39929e+5”

Python3




# code

scientific_format= "{:e}".format(

3.450e+05
0
3.450e+05
1

 

3.450e+05
2
3.450e+05
3

đầu ra

5.123490e+08

Trong ví dụ trên, ký hiệu khoa học của 512349000. 000000 sẽ là số thập phân sau chữ số đầu tiên và lũy thừa của 10 tức là- 5. 123490 X 108

Để chỉ bao gồm một số chữ số nhất định sau dấu thập phân, chúng tôi sử dụng “{. Ne}”, trong đó N là số chữ số

Python cho phép bạn làm việc với các giá trị dấu phẩy động trong ký hiệu chuẩn và ký hiệu khoa học. Trong hướng dẫn này, bạn sẽ học cách sử dụng ký hiệu khoa học để chuyển đổi và loại bỏ các giá trị dấu chấm động sang và từ ký hiệu khoa học. Ký hiệu khoa học đề cập đến các số được biểu thị bằng lũy ​​thừa của 10

Đến cuối hướng dẫn này, bạn sẽ học được

  • Ký hiệu khoa học là gì và khi nào bạn có thể muốn sử dụng nó
  • Cách sử dụng ký hiệu khoa học trong Python khi tạo các giá trị dấu phẩy động mới
  • Làm thế nào để ngăn chặn ký hiệu khoa học
  • Cách xóa ký hiệu khoa học khỏi biểu đồ Python, chẳng hạn như trong Matplotlib

Mục lục

Ký hiệu khoa học là gì?

Ký hiệu khoa học là một cách thể hiện các số rất lớn hoặc rất nhỏ bằng cách sử dụng số mũ của cơ số 10. Điều này cho phép bạn dễ dàng xác định phạm vi của một giá trị, thường là giá trị thập phân. Để chuyển đổi một số thành ký hiệu đối chiếu khoa học của nó, bạn chỉ cần đặt số đầu tiên (hoặc hệ số) nằm trong khoảng từ 1 đến 10. Sau đó nhân số với giá trị cơ số mười của nó

Ví dụ: để chuyển đổi 342 thành ký hiệu khoa học

  1. Lấy 3 làm hệ số
  2. 42 trở thành các giá trị sau dấu thập phân
  3. Giá trị sau đó được nhân với 102

Điều này có nghĩa là 342 trở thành 3. 42×102

Khi nào Python sử dụng ký hiệu khoa học?

Một điều quan trọng cần lưu ý là Python sẽ không bao giờ lưu trữ các giá trị của bạn dưới dạng ký hiệu khoa học. Chúng sẽ luôn được lưu trữ dưới dạng số nguyên hoặc giá trị dấu phẩy động. Tuy nhiên, Python sẽ hiển thị các giá trị trong ký hiệu khoa học khi thích hợp

Điều này đặt ra câu hỏi - khi nào Python hiển thị các giá trị dưới dạng ký hiệu khoa học? . Trong những trường hợp này, REPL của Python sẽ hiển thị các giá trị dưới dạng ký hiệu khoa học

Hãy xem một ví dụ về điều này trông như thế nào

# Reviewing Displaying Values as Scientific Notation
print(123456789123456789.5)
print(0.00000001)

# Returns:
# 1.2345678912345678e+17
# 1e-08

Bây giờ bạn đã biết khi nào Python sẽ sử dụng ký hiệu khoa học, hãy xem cách bạn có thể buộc Python hiển thị các giá trị ở dạng thập phân của chúng

Cách sử dụng Python để chuyển đổi ký hiệu khoa học thành giá trị thập phân

Để loại bỏ ký hiệu khoa học trong Python, chúng ta có thể sử dụng định dạng chuỗi. Điều này cho phép bạn biểu diễn các giá trị ở định dạng thập phân của chúng. Tuy nhiên, điều này cũng sẽ chuyển đổi các giá trị thành một chuỗi, vì vậy tốt nhất là không ghi đè lên chính các biến đó

Hãy xem cách chúng ta có thể loại bỏ ký hiệu khoa học bằng cách sử dụng chuỗi f

# Suppressing Scientific Notation in Python with f-strings
value = 0.0000123
print("value without supression: ", value)
print(f"value with supression: {value:.7f}")

# Returns:
# value without supression:  1.23e-05
# value with supression: 0.0000123

Trong ví dụ trên, chúng tôi đã tạo một biến sẽ được biểu thị là 1. 23e-05 trong ký hiệu khoa học. Sau đó, chúng tôi đã sử dụng định dạng chuỗi trong chuỗi f của mình để hiển thị các giá trị dưới dạng số thập phân động với độ chính xác 7 điểm

Bạn có thể tự hỏi làm thế nào chúng tôi hạ cánh trên 7 điểm chính xác?

Cách sử dụng Python để chuyển đổi giá trị dấu phẩy động thành ký hiệu khoa học

Có thể đôi khi bạn muốn chuyển đổi định dạng số thông thường sang ký hiệu khoa học tương đương. Đối với điều này, một lần nữa, bạn có thể sử dụng định dạng chuỗi f. Nhớ lại từ phần trước rằng giá trị này biểu thị giá trị dưới dạng chuỗi chứ không phải dưới dạng số. Do đó, điều quan trọng là không ghi đè lên biến ban đầu

Hãy xem cách chúng ta có thể sử dụng chuỗi f để chuyển đổi một số thành biểu diễn ký hiệu khoa học của nó

# Converting a Number to Scientific Notation in Python
value = 342
print("value without scientific notation: ", value)
print(f"value with scientific notation: {value:e}")

# Returns:
# value without scientific notation:  342
# value with scientific notation: 3.420000e+02

Trong ví dụ trên, chúng tôi đã sử dụng trình định dạng chuỗi của e để biểu thị rằng chúng tôi muốn các giá trị được biểu thị bằng ký hiệu khoa học

Cách tải một số dưới dạng ký hiệu khoa học trong Python

Python cũng cho phép bạn dễ dàng tạo các giá trị dưới dạng ký hiệu khoa học. Điều này có thể hữu ích khi bạn muốn tạo các giá trị chính xác mà không cần phải lo lắng về giá trị của chúng được biểu thị bằng số lớn hay nhỏ. Hãy xem cách chúng ta có thể tạo giá trị của 342 bằng cách sử dụng đối chiếu ký hiệu khoa học của nó

________số 8_______

Trong khối mã ở trên, chúng tôi đã chuyển 3.42e2 vào hàm tạo float(). Điều này cho phép chúng tôi tạo một giá trị dấu phẩy động từ biểu diễn ký hiệu khoa học của nó. Thay vào đó, nếu bạn muốn tạo một giá trị số nguyên, bạn chỉ cần sử dụng hàm xây dựng int()

Cách xóa ký hiệu khoa học khỏi đồ thị Matplotlib

Theo mặc định, Matplotlib sẽ chuyển đổi các giá trị rất lớn và rất nhỏ thành ký hiệu khoa học. Mặc dù điều này có thể hiệu quả đối với các bài báo khoa học, nhưng nó thường không phải là cách ưa thích để hiển thị các giá trị trong bối cảnh kinh doanh

Hãy tạo một hình ảnh trực quan và xem các giá trị được hiển thị như thế nào

# Creating a Visualization with Scientific Notation
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1, 100, 100)
y = np.linspace(1e-10, 1e-8, 100)

plt.plot(x, y)
plt.show()

Trong khối mã ở trên, chúng tôi đã sử dụng hàm linspace NumPy để tạo một dải giá trị trong một không gian tuyến tính

Điều này trả về hình ảnh sau đây

Làm thế nào để bạn định dạng ký hiệu khoa học trong python?
Biểu đồ Matplotlib với các giá trị được hiển thị dưới dạng ký hiệu khoa học

Chúng ta có thể sửa đổi các giá trị trong trục y bằng cách sử dụng hàm

# Suppressing Scientific Notation in Python with f-strings
value = 0.0000123
print("value without supression: ", value)
print(f"value with supression: {value:.7f}")

# Returns:
# value without supression:  1.23e-05
# value with supression: 0.0000123
0. Theo mặc định, Matplotlib sẽ sử dụng kiểu
# Suppressing Scientific Notation in Python with f-strings
value = 0.0000123
print("value without supression: ", value)
print(f"value with supression: {value:.7f}")

# Returns:
# value without supression:  1.23e-05
# value with supression: 0.0000123
1 cho khoa học. Chúng ta có thể thay đổi định dạng thành
# Suppressing Scientific Notation in Python with f-strings
value = 0.0000123
print("value without supression: ", value)
print(f"value with supression: {value:.7f}")

# Returns:
# value without supression:  1.23e-05
# value with supression: 0.0000123
2 để sử dụng các giá trị trong giá trị dấu phẩy động của chúng

Hãy xem làm thế nào điều này có thể được thực hiện trong Matplotlib

# Creating a Visualization without Scientific Notation
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1, 100, 100)
y = np.linspace(1e-10, 1e-8, 100)

plt.plot(x, y)
plt.ticklabel_format(style='plain')
plt.show()

Điều này trả về hình ảnh sau đây

Làm thế nào để bạn định dạng ký hiệu khoa học trong python?
Tạo trực quan hóa Matplotlib mà không cần ký hiệu khoa học

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng ký hiệu khoa học trong Python. Trước tiên, bạn đã biết ký hiệu khoa học là gì và khi nào bạn có thể muốn sử dụng nó. Sau đó, bạn đã học cách ký hiệu khoa học được sử dụng trong Python để biểu thị các giá trị rất lớn và rất nhỏ. Từ đó, bạn đã học cách biểu diễn các giá trị dưới dạng ký hiệu khoa học hoặc cách loại bỏ ký hiệu khoa học trong Python. Sau đó, bạn đã học cách ký hiệu khoa học cũng có thể được sử dụng để tạo số float và số nguyên. Cuối cùng, bạn đã học cách sử dụng Matplotlib để ẩn ký hiệu khoa học trên một trục