標準単位.

標準単位は中で定義する astropy.units カプセル化は対象事例である.

すべての単位は基本的な“約定不可能”単位で定義される.契約不可単位には:

  • 長さ(メートル)

  • 時間(秒)

  • 質量(キログラム)

  • 電流(アンペア)

  • 温度(ケルビン)

  • 角度距離(弧)

  • 立体角(立体)

  • 発光強度(カンデラ)

  • 恒星など(MAG)

  • 質量(モル)

  • 光子計数(光子)

(FITS規格が要求するより曖昧な基本単位もあり、使用を推奨していません。)

基本単位の組み合わせに関する単位は CompositeUnit それがそうです。ほとんどの場合、より複雑なケースを設計したい場合を除いて、様々なユニットクラスを心配する必要はありません。

モジュールには多くのユニットがあらかじめ定義されている.ご利用いただけます find_equivalent_units 方法所与のタイプのすべての既存の事前定義単位を列挙する:

>>> from astropy import units as u
>>> u.g.find_equivalent_units()
  Primary name | Unit definition | Aliases
[
  M_e          | 9.10938e-31 kg  |                                  ,
  M_p          | 1.67262e-27 kg  |                                  ,
  earthMass    | 5.97217e+24 kg  | M_earth, Mearth                  ,
  g            | 0.001 kg        | gram                             ,
  jupiterMass  | 1.89812e+27 kg  | M_jup, Mjup, M_jupiter, Mjupiter ,
  kg           | irreducible     | kilogram                         ,
  solMass      | 1.98841e+30 kg  | M_sun, Msun                      ,
  t            | 1000 kg         | tonne                            ,
  u            | 1.66054e-27 kg  | Da, Dalton                       ,
]

接頭辞.

ほとんどの単位は、プレフィックスと共に使用することができ、標準SIプレフィックスもあれば、IEEE 1514バイナリプレフィックスもある(使用する) bit そして byte )サポート:

利用可能な小数接頭辞

記号

接頭辞.

価値がある

Y

ヨタ-

1 e 24

Z

ゼータ-

1 e 21

E

Exa-

1 e 18

P

動物に優しい組織-

1 e 15

T

テラ-

1 e 12

G

千兆-

1 E 9

M

超巨大-

1 E 6

K

キロ-キロ

1 E 3

H

ヘクター-

1 E 2

DA

デカデシコ

1 E 1

D.D

12月-

1 E-1

C

1%-

1 E-2

私は…。

ミリー-

1 E-3

使用

微-微-

1 E-6

N

ナノ-

1 E-9

P

ピコ-

1 E-12

F.F

フェムト-

1 E-15

A

アト-

1 E-18

Z

ジプトル-

1 E-21

はい。

ヨークト-

1 E-24

利用可能なバイナリプレフィックス

記号

接頭辞.

価値がある

キビ-

2**10

未命中.

MEBI-

2**20

アメリカ退役軍人協会

ギビー-

2**30

時間です。

タイビー-

2**40

交点.

ペビー-

2**50

アイイ!

実験-

2**60

無量綱単位.

これらの単位を除いて astropy.units 無量綱単位の概念を含み,物理的サイズのない量を表すために用いられる.これは概念的には None :データ中またはユーザが単位を指定していないことを表す.

便宜上、次元も比例もない単位がある。 dimensionless_unscaled 対象::

>>> from astropy import units as u
>>> u.dimensionless_unscaled
Unit(dimensionless)

無量綱の数は、一般に、数量の積または比率として定義され、これらの量は無次元ではないが、それらの累乗を乗算すると、それらの量綱は相殺される。

実例.

使用する dimensionless_unscaled 対象::

>>> u.m / u.m
Unit(dimensionless)

これは,サポートされている単位文字列フォーマットと互換性があるため,これに相当する Unit('') そして Unit(1) 使用するにもかかわらず u.dimensionless_unscaled Pythonでは、第一選択コードは可読性:

>>> u.dimensionless_unscaled == u.Unit('')
True
>>> u.dimensionless_unscaled == u.Unit(1)
True

多くの場合、無次元単位にも目盛りがある可能性があることに注意してください。例えば:

>>> (u.km / u.m).decompose()
Unit(dimensionless with a scale of 1000.0)
>>> (u.km / u.m).decompose() == u.dimensionless_unscaled
False

スケールスケールの無次元数を作成する一例として、ある大きな無単位数字を使用して多くの計算を行うと仮定します。 big_unitless_num = 20000000  # 20 million しかし、あなたはあなたのすべての答えが百万倍であることを望んでいます。これを割ることで big_unitless_num vt.から. 1e6 しかし、これは、このスケーリング係数が適用されており、これは、複数回の計算を経た後に困難である可能性があることを覚えておく必要がある代わりに、値を乗算して比例調整された無量綱の数を作成する Unit(scale) スケールファクタを追跡することができます例えば:

>>> scale = 1e6
>>> big_unitless_num = 20 * u.Unit(scale)  # 20 million

>>> some_measurement = 5.0 * u.cm
>>> some_measurement * big_unitless_num  
<Quantity 100. 1e+06 cm>

単位に量綱がないかどうかを確認するには、使用してください physical_type 物件::

>>> (u.km / u.m).physical_type
u'dimensionless'
>>> # This also has a scale, so it is not the same as u.dimensionless_unscaled
>>> (u.km / u.m) == u.dimensionless_unscaled
False
>>> # However, (u.m / u.m) has a scale of 1.0, so it is the same
>>> (u.m / u.m) == u.dimensionless_unscaled
True

他のデバイスを有効にする

デフォルトの場合は、“デフォルト”単位のみを検索します find_equivalent_units 似たような探索方法ですこれにはSI,CGS,天体物理単位が含まれる.しかし、あなたはイギリスまたは他のユーザ定義の単位を有効にすることを望んでいるかもしれません。

例を引く

イギリス単位を有効にするためには、以下の操作を実行してください。

>>> from astropy.units import imperial
>>> imperial.enable()  
>>> u.m.find_equivalent_units()  
  Primary name | Unit definition | Aliases
[
  AU           | 1.49598e+11 m   | au, astronomical_unit ,
  Angstrom     | 1e-10 m         | AA, angstrom          ,
  cm           | 0.01 m          | centimeter            ,
  ft           | 0.3048 m        | foot                  ,
  fur          | 201.168 m       | furlong               ,
  inch         | 0.0254 m        |                       ,
  lyr          | 9.46073e+15 m   | lightyear             ,
  m            | irreducible     | meter                 ,
  mi           | 1609.34 m       | mile                  ,
  micron       | 1e-06 m         |                       ,
  mil          | 2.54e-05 m      | thou                  ,
  nmi          | 1852 m          | nauticalmile, NM      ,
  pc           | 3.08568e+16 m   | parsec                ,
  solRad       | 6.957e+08 m     | R_sun, Rsun           ,
  yd           | 0.9144 m        | yard                  ,
]

これもまた with 文は、追加デバイスを一時的に有効にするために、以下の操作を実行してください。

>>> from astropy import units as u
>>> from astropy.units import imperial
>>> with imperial.enable():
...     print(u.m.find_equivalent_units())
      Primary name | Unit definition | Aliases
...

特定のデバイスのみを有効にするためには、ご利用ください add_enabled_units **

>>> from astropy import units as u
>>> from astropy.units import imperial
>>> with u.add_enabled_units([imperial.knot]):
...     print(u.m.find_equivalent_units())
      Primary name | Unit definition | Aliases
...