表¶
- class astropy.table.Table(data=None, masked=False, names=None, dtype=None, meta=None, copy=True, rows=None, copy_indices=True, units=None, descriptions=None, **kwargs)[ソース]¶
ベースクラス:
object
異種データテーブルのクラスを示す.
Table
異種テーブルデータにクラスを提供する.重要な強化機能を提供していますTable
クラス終了、例えばAnumpy
構造化配列は,列を追加または削除したり,新たなデータ行を追加したりすることで,表構造を容易に修正する能力である.また,表メタデータと列メタデータを完全にサポートする.Table
とは異なりNDData
入力データが同種のデータの列からなると仮定することによって、各列は一意の識別子を有し、データユニット、フォーマット、および記述のような追加のメタデータを含むことができる。なお、https://docs.astterpy.org/en/Stability/table/
- パラメータ
- dataNumpy ndarray、dict、list、リスト状オブジェクト、オプション
初期化表のデータをお願いします。
- maskedブル値、オプション
表がマスクされているかどうかを指定する.
- namesリスト、オプション
列名を指定する。
- dtypeリスト、オプション
列データタイプを指定します。
- metaDICT、オプション
表に関連するメタデータ.
- copyブル値、オプション
入力データをコピーする。入力が表であれば
meta
いつもコピーされていますcopy
パラメータです。デフォルト値はTrueである.- rowsNumpy ndarray、リスト、オプション
表の行指向データは
data
論争する。- copy_indicesブル値、オプション
入力データ中のすべてのインデックスをコピーする.デフォルト値はTrueである.
- unitsリスト、辞書、オプション
列の単位リストや辞書に適用する.
- descriptionsリスト、辞書、オプション
列の説明リストや辞書に適用する.
- **kwargsDICT、オプション
表状オブジェクトを変換する際のキーワードパラメータを付加する.
属性要約
colnames
\dtype
\groups
\もし表にあるなら
MaskedColumn
柱です。表中の列がマスクの値を持つ場合,Trueとなる.
表に何らかの混合列(列サブクラスでない列と定義する)があればTrueとなる.
iloc
\Table ILocオブジェクトを返し、このオブジェクトは、インデックス行のインデックス内の出現順にインデックス行を検索するために使用することができる。
indices
\表の列に関連付けられたインデックスをTable Indicesオブジェクトとして返す.
info
\loc
\Table Locオブジェクトは、インデックスで所与のデータ領域の行を検索するために使用することができるTable Locオブジェクトを返す。
1つまたは複数の所与のテーブルインデックスキー値に対応する行インデックスを検索するために使用することができるTable LocIndicesオブジェクトを返す。
mask
\masked
\meta
\出力リストの可視性を印刷するタプルを維持制御します。
出力リストの可視性を印刷するタプルを維持制御します。
read
\write
\方法要約
add_column
\(列[, index, name, ...] )新しい列を表に追加する使用
col
入力とします。add_columns
\(COLS[, indexes, names, copy, ...] )以下の命令を用いて表を追加した新しい列リスト
cols
データオブジェクト。add_index
\(シリアル名[, engine, unique] )新しいインデックスは、1列または複数列の間に挿入されます。
add_row
\([vals, mask] )表の末尾に新しい行を追加する.
argsort
\([keys, kind, reverse] )インデックスを返し、このインデックスは、1つまたは複数のキー列に従ってテーブルをソートする。
as_array
\([keep_byteorder, names] )表の新しいコピーを構造化np.ndarrayまたはnp.ma.MaskedArrayオブジェクト(場合に応じて)の形で返す。
バイト列(dtype.ind=‘S’)をUTF-8符号化を用いてUnicode(dtype.ind=‘U’)に変換する.
Unicode列(dtype.ind=‘U’)をUTF-8コードを用いてバイト文字列(dtype.ind=‘S’)に変換する.
copy
\([copy_data] )戻り表のコピー。
field
\(項目)戻り列. [item] Recarray互換性を実現する.
filled
\([fill_value] )Selfのコピーを返し,マスク値を埋め込む.
from_pandas
\(データフレーム[, index, units] )創立
Table
1つからpandas.DataFrame
実例.group_by
\(キー)この表を指定したとおり
keys
index_column
\(名前)戻り列の位置インデックス
name
それがそうです。index_mode
\(モード)インデックスモードのコンテキストマネージャに戻ります。
insert_row
\(索引)[, vals, mask] )与えられた
index
表の中の位置。items
\()itercols
\()この表の列を遍歴する。
iterrows
\(*名前)オーバラップは各行を表し,行ごとに値タプルを返す.
keep_columns
\(名前)指定された列のみを保持する(他の列を削除する).
keys
\()more
\([max_lines, max_width, show_name, ...] )ページインタフェースを持つインタラクティブなブラウジングテーブル.
pformat
\([max_lines, max_width, show_name, ...] )フォーマットされた文字列表現形式の行リストを返す
pformat_all
\([max_lines, max_width, ...] )フォーマットされた文字列表現形式の行リストを返す
pprint
\([max_lines, max_width, show_name, ...] )印刷表のフォーマット文字列表示形式。
pprint_all
\([max_lines, max_width, ...] )フォーム全体のフォーマットされた文字列表示形式を印刷します。
remove_column
\(名前)表から列を削除する.
remove_columns
\(名前)表からいくつかの列を削除する.
remove_indices
\(列名)指定された列に関連するすべてのインデックスを削除する.
remove_row
\(索引)表から1行削除する.
remove_rows
\(行_説明符)表から行を削除する.
rename_column
\(名前,新しい_名)重命が列に並ぶ。
rename_columns
\(名前,新しい_名)複数の列をリネームする。
replace_column
\(名前,列[, copy] )置換列
name
新しいのを使うcol
物体です。reverse
\()表行の行順序を逆にする.
round
\([decimals] )指定された小数桁まで数字列をその場で丸める.
show_in_browser
\([max_lines, jsviewer, ...] )フォームをHTML形式で提示し,Webブラウザに表示する.
show_in_notebook
\([tableid, css, ...] )フォームをHTML形式で提示し、IPythonノートに表示します。
sort
\([keys, reverse] )テーブルは、1つまたは複数のキーに従ってソートされる。
to_pandas
\([index, use_nullable_int] )1つに戻る
pandas.DataFrame
実例.values
\()values_equal
\(その他)表は、別のテーブル、リスト、またはスカラの要素別と比較される。
属性文書
- ColumnClass¶
- colnames¶
- dtype¶
- groups¶
- has_masked_columns¶
もし表にあるなら
MaskedColumn
柱です。マスク値を持つ可能性のある混合列はチェックされませんので、ご利用ください
has_masked_values
財産はこの場合にあります。
- has_masked_values¶
表中の列がマスクの値を持つ場合,Trueとなる.
大型テーブルの場合、これは、各列のマスク値をチェックする必要があるので、比較的遅い可能性がある。
- has_mixin_columns¶
表に何らかの混合列(列サブクラスでない列と定義する)があればTrueとなる.
- iloc¶
Table ILocオブジェクトを返し、このオブジェクトは、インデックス行のインデックス内の出現順にインデックス行を検索するために使用することができる。
- indices¶
表の列に関連付けられたインデックスをTable Indicesオブジェクトとして返す.
- info¶
- loc¶
Table Locオブジェクトは、インデックスで所与のデータ領域の行を検索するために使用することができるTable Locオブジェクトを返す。Locもilocも単列インデックスにのみ適用されることに注意されたい.
- loc_indices¶
1つまたは複数の所与のテーブルインデックスキー値に対応する行インデックスを検索するために使用することができるTable LocIndicesオブジェクトを返す。
- mask¶
- masked¶
- meta¶
- pprint_exclude_names¶
出力リストの可視性を印刷するタプルを維持制御します。
これはMetaAttributeから継承された記述子であるため,属性値は表METAに格納される. ['__attributes__'] それがそうです。
これは
pprint_include_names
そしてpprint_exclude_names
表属性。
- pprint_include_names¶
出力リストの可視性を印刷するタプルを維持制御します。
これはMetaAttributeから継承された記述子であるため,属性値は表METAに格納される. ['__attributes__'] それがそうです。
これは
pprint_include_names
そしてpprint_exclude_names
表属性。
- read = <astropy.table.connect.TableRead object>¶
- write = <astropy.table.connect.TableWrite object>¶
方法文書
- add_column(col, index=None, name=None, rename_duplicate=False, copy=True, default_name=None)[ソース]¶
新しい列を表に追加する使用
col
入力とします。もし…。index
そして,前に列を挿入する.index
列リストに配置し,そうでなければ列をリストの末尾に追加する.♪the
col
入力は何でも受け入れられますTable
オブジェクトを列するか、変換することができます。これは、テーブル長に一致するようにブロードキャストされる混合列およびスカラーまたはLENGTH=1オブジェクトを含む。一度に複数列追加しますので、ご利用ください
add_columns()
あるいはいっそ電話してadd_column()
どれもあります。この2つの手法の性能差は小さい.- パラメータ
- col客体.
新しい列のデータオブジェクト
- index形がそろっているかないか
この位置の前または末尾に列(デフォルト)を挿入します。
- name応力.応力
名前を列記する.
- rename_duplicateブルル.
列名がすでに存在すれば,列名を一意に化する.デフォルト値はFalseである.
- copyブルル.
新しい列をコピーする。デフォルト値はTrueである.
- default_name文字列またはなし
どちらもある場合に使う名前
name
そしてcol.info.name
どちらも使えません。黙認する.col{{number_of_columns}}
それがそうです。
実例.
2つの列‘a’および‘b’を含むテーブルを作成し、第3の列‘c’を作成し、テーブルの末尾に追加する:
>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> col_c = Column(name='c', data=['x', 'y']) >>> t.add_column(col_c) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y
位置1に列‘d’が追加されます。この列は、所与のインデックスの前に挿入されています:
>>> t.add_column(['a', 'b'], name='d', index=1) >>> print(t) a d b c --- --- --- --- 1 a 0.1 x 2 b 0.2 y
RENAME_DUPLICATEの使用::‘b’という名前の第2の列を追加する
>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> t.add_column(1.1, name='b', rename_duplicate=True) >>> print(t) a b b_1 --- --- --- 1 0.1 1.1 2 0.2 1.1
デフォルトの名前を使用するか、または指定された明示的な名前を使用してテーブルに名前のない列または混合オブジェクトを追加する
name
それがそうです。名前を上書きすることもできます:>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> t.add_column(['a', 'b']) >>> t.add_column(col_c, name='d') >>> print(t) a b col2 d --- --- ---- --- 1 0.1 a x 2 0.2 b y
- add_columns(cols, indexes=None, names=None, copy=True, rename_duplicate=False)[ソース]¶
以下の命令を用いて表を追加した新しい列リスト
cols
データオブジェクト。もし対応したらindexes
そしてそれぞれがindex
位置は? オリジナル 列のリストは,そうでなければ列をリストの末尾に追加する.♪the
cols
入力には任意の許容可能なものが含まれていますTable
オブジェクトを列するか、変換することができます。これは、テーブル長に一致するようにブロードキャストされる混合列およびスカラーまたはLENGTH=1オブジェクトを含む。性能の観点からは,このメソッドを1回呼び出したり,新しい列と呼び出しをループトラバースしたりする.
add_column()
列ごとに。- パラメータ
- cols対象リスト
新しい列のデータオブジェクトリスト
- indexes完全または無型リスト
この位置の前または末尾に列(デフォルト)を挿入します。
- names文字列リスト
名前を列記する.
- copyブルル.
新しい列をコピーする。デフォルト値はTrueである.
- rename_duplicateブルル.
新しい列名が既存の列名と重複している場合は、それを統一してください。デフォルト値はFalseである.
実例.
2つの列‘a’および‘b’を含むテーブルを作成し、列‘c’および‘d’を作成し、テーブルの末尾に追加します:
>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> col_c = Column(name='c', data=['x', 'y']) >>> col_d = Column(name='d', data=['u', 'v']) >>> t.add_columns([col_c, col_d]) >>> print(t) a b c d --- --- --- --- 1 0.1 x u 2 0.2 y v
列‘c’が位置0に追加され、位置1に列‘d’が追加される。これらの列は、所与の位置の前に挿入されることに留意されたい。
>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> t.add_columns([['x', 'y'], ['u', 'v']], names=['c', 'd'], ... indexes=[0, 1]) >>> print(t) c a d b --- --- --- --- x 1 u 0.1 y 2 v 0.2
2列目“b”および列“c”を追加
rename_duplicate
**>>> t = Table([[1, 2], [0.1, 0.2]], names=('a', 'b')) >>> t.add_columns([[1.1, 1.2], ['x', 'y']], names=('b', 'c'), ... rename_duplicate=True) >>> print(t) a b b_1 c --- --- --- --- 1 0.1 1.1 x 2 0.2 1.2 y
デフォルトの名前を使用するか、または指定された明示的な名前を使用してテーブルに名前のない列または混合オブジェクトを追加する
names
それがそうです。名前を上書きすることもできます:>>> t = Table() >>> col_b = Column(name='b', data=['u', 'v']) >>> t.add_columns([[1, 2], col_b]) >>> t.add_columns([[3, 4], col_b], names=['c', 'd']) >>> print(t) col0 b c d ---- --- --- --- 1 u 3 u 2 v 4 v
- add_index(colnames, engine=None, unique=False)[ソース]¶
新しいインデックスは、1列または複数列の間に挿入されます。インデックスがなければ、このインデックスをメインテーブルインデックスとしてください。
- パラメータ
- colnames文字列またはリスト
索引すべき列名(または単一列名)リスト
- engineタイプまたはなし
SortedArray,BST,SCEngineから使用するインデックスエンジンクラスを選択する.提供されたパラメータがNone(デフォルトの場合)であれば、SortedArrayを使用します。
- uniqueブルル.
インデックス値が一意でなければならないかどうか。デフォルト値はFalseである.
- add_row(vals=None, mask=None)[ソース]¶
表の末尾に新しい行を追加する.
♪the
vals
パラメータは以下のようにすることができる.- シーケンス(例えば、タプルまたはリスト)
列値の順序は表列と同じである.
- マッピング(例えばDICT)
列名に対応するキー.欠落した値は列dtypeのnp.zerosで充填する.
None
列dtypeのnp.zerosパディングのすべての値を用いる.
この方法では,Tableオブジェクトに下位配列データを“持つ”ことを要求する.具体的には,既存配列からcopy=falseを用いて初期化されたテーブルに行を追加することはできない.
♪the
mask
属性は値のマスク(必要であれば)を与えるべきである.マスクのタイプは、値のタイプに一致しなければならない、すなわち、vals
繰り返し可能なのですmask
同じ長さの反復数であるべきでありvals
マッピングですではmask
辞書のはずです。- パラメータ
- valsタプル、リスト、辞書、またはなし
新しい行の指定値を使用する
- maskタプル、リスト、辞書、またはなし
新しい行で指定されたマスク値を使用する
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1,2],[4,5],[7,8]], names=('a','b','c')) >>> print(t) a b c --- --- --- 1 4 7 2 5 8
新しい行を追加し、その行のエントリは、“a”の“3”、“b”の“6”および“c”の“9”:
>>> t.add_row([3,6,9]) >>> print(t) a b c --- --- --- 1 4 7 2 5 8 3 6 9
- argsort(keys=None, kind=None, reverse=False)[ソース]¶
インデックスを返し、このインデックスは、1つまたは複数のキー列に従ってテーブルをソートする。これはただの呼び出しです
numpy.argsort
表で使うorder
パラメータはkeys
それがそうです。- パラメータ
- keys文字列または文字列リスト
表の順位付けに基づく列名
- kind{‘高速ソート’,‘マージソート’,‘ヒープソート’},オプション
整列化アルゴリズム。
- reverseブルル.
逆の順にソートする(デフォルト値=False)
- 返品
- index_arrayNdarray,int
表を指定されたキー列でソートするインデックス配列.
- as_array(keep_byteorder=False, names=None)[ソース]¶
表の新しいコピーを構造化np.ndarrayまたはnp.ma.MaskedArrayオブジェクト(場合に応じて)の形で返す。
- パラメータ
- keep_byteorderブル値、オプション
デフォルトの場合,返される配列はネイティブバイト順序のすべての列を持つ.しかしもしこの選択肢が
True
これは,すべての列のバイト順序を保持する(非ネイティブ列があれば).- namesリスト、オプション:
返された構造化配列に含まれる名前リスト.デフォルトの場合、すべてのリストが含まれます。
- 返品
- table_array :配列または
MaskedArray
配列や 表のコピーをNumpy構造化配列とする.Ndarrayは遮蔽されていないまたは
MaskedArray
覆面のために。
- table_array :配列または
- convert_bytestring_to_unicode()[ソース]¶
バイト列(dtype.ind=‘S’)をUTF-8符号化を用いてUnicode(dtype.ind=‘U’)に変換する.
内部では,文字列列を4バイトのUCS-4等価項を用いて文字列中の各文字を表すように変更するため,メモリに対する効率は低いが,スクリプトには自然文法操作文字列配列を用いることが許されている.
- convert_unicode_to_bytestring()[ソース]¶
Unicode列(dtype.ind=‘U’)をUTF-8コードを用いてバイト文字列(dtype.ind=‘S’)に変換する.
Unicode文字列配列をファイルに導出する際には,Unicode列をバイト文字列に符号化する必要がある可能性がある.
- copy(copy_data=True)[ソース]¶
戻り表のコピー。
- パラメータ
- copy_dataブルル.
もし
True
(デフォルト),下位データ配列をコピーする.そうでなければ、同じデータセットを使用してください。♪themeta
何も考えずに深い複製をしていますcopy_data
それがそうです。
- filled(fill_value=None)[ソース]¶
Selfのコピーを返し,マスク値を埋め込む.
もし入力すれば
fill_value
この値が提供された後、この値は、テーブル内のすべてのマスクエントリに使用される。そうでなければ個人はfill_value
表列ごとに定義したものを用いる.- パラメータ
- fill_value応力.応力
提供すれば、これは
fill_value
テーブル全体に使用されるすべてのマスクエントリ。
- 返品
- filled_table :
Table
表 マスク値を充填した新しいテーブル
- filled_table :
- classmethod from_pandas(dataframe, index=False, units=None)[ソース]¶
創立
Table
1つからpandas.DataFrame
実例.汎用数字列や文字列を変換するほか、パンダの日付と時間増分列の変換をサポートしています。
Time
そしてTimeDelta
列に並ぶ。- パラメータ
- データフレーム. :
pandas.DataFrame
pandas.DataFrame
パンダ1頭.
pandas.DataFrame
実例.- indexブルル.
戻り表には索引列(デフォルト値=False)が含まれている
- 単位:10進制
列名をマッピングした辞書を
Unit
それがそうです。これらの列は表に指定された単位を持つ.
- データフレーム. :
- 返品
- 賃上げをする
- ImportError
パンダを設置していなければ
実例.
ここでは
pandas.DataFrame
インスタンスは、QTable
それがそうです。>>> import numpy as np >>> import pandas as pd >>> from astropy.table import QTable
>>> time = pd.Series(['1998-01-01', '2002-01-01'], dtype='datetime64[ns]') >>> dt = pd.Series(np.array([1, 300], dtype='timedelta64[s]')) >>> df = pd.DataFrame({'time': time}) >>> df['dt'] = dt >>> df['x'] = [3., 4.] >>> with pd.option_context('display.max_columns', 20): ... print(df) time dt x 0 1998-01-01 0 days 00:00:01 3.0 1 2002-01-01 0 days 00:05:00 4.0
>>> QTable.from_pandas(df) <QTable length=2> time dt x object object float64 ----------------------- ------ ------- 1998-01-01T00:00:00.000 1.0 3.0 2002-01-01T00:00:00.000 300.0 4.0
- group_by(keys)[ソース]¶
この表を指定したとおり
keys
これは表を効率的に
keys
対象をグループ化する.出力は新しいものですTableGroups
この表のコピーが含まれていますがkeys
それがそうです。♪the
keys
入力しますgroup_by
異なる方法で指定することができる:リスト名に対応する文字列または文字列リスト
この表と同じ長さのNumpy配列(同構造または構造化)
Table
このテーブルと同じ長さだ
- index_column(name)[ソース]¶
戻り列の位置インデックス
name
それがそうです。- パラメータ
- name応力.応力
名前を列記する.
- 返品
- index集積する.
列の位置索引
name
それがそうです。
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
取得表の列‘b’のインデックス:
>>> t.index_column('b') 1
- index_mode(mode)[ソース]¶
インデックスモードのコンテキストマネージャに戻ります。
- パラメータ
- mode応力.応力
‘Freeze’、‘copy_on_getitem’または‘disard_on_copy’です。‘disard_on_copy’モードでは、いつ列やテーブルをコピーしても、インデックスはコピーされません。“凍結”モードでは,列が修正される限りインデックスは修正されず,コンテキスト脱退時にはインデックスが列値に応じて自己リフレッシュされる.このパターンは,インデックス列に多くの追加や修正を行う場合に適している.‘copy_on_getitem’モードでは,列シートと表片を取得する際にインデックスがコピーされるため,列 [I 0:i 1] インデックスを保持します。
- insert_row(index, vals=None, mask=None)[ソース]¶
与えられた
index
表の中の位置。♪the
vals
パラメータは以下のようにすることができる.- シーケンス(例えば、タプルまたはリスト)
列値の順序は表列と同じである.
- マッピング(例えばDICT)
列名に対応するキー.欠落した値は列dtypeのnp.zerosで充填する.
None
列dtypeのnp.zerosパディングのすべての値を用いる.
♪the
mask
属性は値のマスク(必要であれば)を与えるべきである.マスクのタイプは、値のタイプに一致しなければならない、すなわち、vals
繰り返し可能なのですmask
同じ長さの反復数であるべきでありvals
マッピングですではmask
辞書のはずです。- パラメータ
- valsタプル、リスト、辞書、またはなし
新しい行の指定値を使用する
- maskタプル、リスト、辞書、またはなし
新しい行で指定されたマスク値を使用する
- itercols()[ソース]¶
この表の列を遍歴する。
実例.
代表される列を重ねるには、以下の動作を実行してください。
>>> t = Table([[1], [2]]) >>> for col in t.itercols(): ... print(col) col0 ---- 1 col1 ---- 2
Vbl.使用
itercols()
似たようなfor col in t.columns.values()
しかし構文的には第一選択である.
- iterrows(*names)[ソース]¶
オーバラップは各行を表し,行ごとに値タプルを返す.
列のサブセットのみが必要な場合、この方法は特に有用である。
♪the
iterrows
方法は、標準的なテーブル行反復を使用するよりもはるかに速い(例えば、for row in tbl:
)は新しいものに戻るからです~astropy.table.Row
オブジェクトは、その行の列(例えば、)にアクセスするrow['col0']
)はタプルアクセスよりも遅い。- パラメータ
- namesリスト.リスト
列名リスト(名前が提供されていない場合は,すべての列をデフォルトとする)
- 返品
- rows反復可能である.
反復器が行値を返すタプル
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table({'a': [1, 2, 3], ... 'b': [1.0, 2.5, 3.0], ... 'c': ['x', 'y', 'z']})
列名を使用してプログレッシブ反復するためには、以下の動作を実行してください。
>>> for a, c in t.iterrows('a', 'c'): ... print(a, c) 1 x 2 y 3 z
- keep_columns(names)[ソース]¶
指定された列のみを保持する(他の列を削除する).
- パラメータ
- namesリスト.リスト
保持する列の名前を含むリスト.他のすべての列は削除されます。
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3],[0.1, 0.2, 0.3],['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
単一の列名のみを指定すると、この列のみが保持されます。保持テーブルの列‘a’::
>>> t.keep_columns('a') >>> print(t) a --- 1 2 3
列名リストがKeepであることを指定することも可能である.保持テーブル中の列‘a’および‘c’::
>>> t = Table([[1, 2, 3],[0.1, 0.2, 0.3],['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> t.keep_columns(['a', 'c']) >>> print(t) a c --- --- 1 x 2 y 3 z
- more(max_lines=None, max_width=None, show_name=True, show_unit=None, show_dtype=False)[ソース]¶
ページインタフェースを持つインタラクティブなブラウジングテーブル.
サポートされる鍵::
f, <space> : forward one page b : back one page r : refresh same page n : next row p : previous row < : go to beginning > : go to end q : quit browsing h : print this help
- パラメータ
- max_lines集積する.
表出力中の最大行数
- max_width形がそろっているかないか
出力の最大文字幅
- show_nameブルル.
列名見出し行を含む。デフォルト値はTrueである.
- show_unitブルル.
単位タイトル行を含む。デフォルトの場合、1列または複数列が定義された単位値を有する場合にのみ、単位行が表示される。
- show_dtypeブルル.
列データタイプタイトル行が含まれています。デフォルト値はTrueである.
- pformat(max_lines=None, max_width=None, show_name=True, show_unit=None, show_dtype=False, html=False, tableid=None, align=None, tableclass=None)[ソース]¶
- フォーマットされた文字列表現形式の行リストを返す
あのテーブルです。
もしなければ
max_lines
画面端子の高さを使って設置されていますmax_lines
それがそうです。端子高が決定できない場合は、構成項目からデフォルト値を取得しますastropy.conf.max_lines
それがそうです。もし負の値がmax_lines
行制約は適用されない.同じ道理も適用されます
max_width
構成項目を除いてはastropy.conf.max_width
それがそうです。
- パラメータ
- max_lines形がそろっているかないか
出力する最大行数
- max_width形がそろっているかないか
出力の最大文字幅
- show_nameブルル.
列名見出し行を含む。デフォルト値はTrueである.
- show_unitブルル.
単位タイトル行を含む。デフォルトの場合、1列または複数列が定義された単位値を有する場合にのみ、単位行が表示される。
- show_dtypeブルル.
列データタイプタイトル行が含まれています。デフォルト値はTrueである.
- htmlブルル.
出力をHTMLフォームにフォーマットする.デフォルト値はFalseである.
- tableid文字列またはなし
表のIDタグ;htmlを設定した場合にのみ使用する.デフォルトは“table{id}”とし,ここでidは表オブジェクトの唯一の整数id,id(Self)である.
- align文字列、リスト、タプル、またはなし
列の左/右を合わせる。すべての列のデフォルト値は右(なし)である.その他の許容値はそれぞれ‘>’,‘<’,‘’^‘と’0=‘であり,それぞれ右,左,真ん中と0パディングを表す.複数列を有するテーブルを整列させるために文字列リストを提供することができる。
- tableclass文字列または文字列リストまたはなし
表のCSS類;htmlを設置した場合にのみ使用した。デフォルト値はNoneです。
- 返品
- linesリスト.リスト
文字列リスト形式のフォーマットテーブル。
- pformat_all(max_lines=- 1, max_width=- 1, show_name=True, show_unit=None, show_dtype=False, html=False, tableid=None, align=None, tableclass=None)[ソース]¶
- フォーマットされた文字列表現形式の行リストを返す
テーブル全体です。
もしなければ
max_lines
画面端子の高さを使って設置されていますmax_lines
それがそうです。端子高が決定できない場合は、構成項目からデフォルト値を取得しますastropy.conf.max_lines
それがそうです。もし負の値がmax_lines
行制約は適用されない.同じ道理も適用されます
max_width
構成項目を除いてはastropy.conf.max_width
それがそうです。
- パラメータ
- max_lines形がそろっているかないか
出力する最大行数
- max_width形がそろっているかないか
出力の最大文字幅
- show_nameブルル.
列名見出し行を含む。デフォルト値はTrueである.
- show_unitブルル.
単位タイトル行を含む。デフォルトの場合、1列または複数列が定義された単位値を有する場合にのみ、単位行が表示される。
- show_dtypeブルル.
列データタイプタイトル行が含まれています。デフォルト値はTrueである.
- htmlブルル.
出力をHTMLフォームにフォーマットする.デフォルト値はFalseである.
- tableid文字列またはなし
表のIDタグ;htmlを設定した場合にのみ使用する.デフォルトは“table{id}”とし,ここでidは表オブジェクトの唯一の整数id,id(Self)である.
- align文字列、リスト、タプル、またはなし
列の左/右を合わせる。すべての列のデフォルト値は右(なし)である.その他の許容値はそれぞれ‘>’,‘<’,‘’^‘と’0=‘であり,それぞれ右,左,真ん中と0パディングを表す.複数列を有するテーブルを整列させるために文字列リストを提供することができる。
- tableclass文字列または文字列リストまたはなし
表のCSS類;htmlを設置した場合にのみ使用した。デフォルト値はNoneです。
- 返品
- linesリスト.リスト
文字列リスト形式のフォーマットテーブル。
- pprint(max_lines=None, max_width=None, show_name=True, show_unit=None, show_dtype=False, align=None)[ソース]¶
印刷表のフォーマット文字列表示形式。
もしなければ
max_lines
画面端子の高さを使って設置されていますmax_lines
それがそうです。端子高が決定できない場合は、構成項目からデフォルト値を取得しますastropy.conf.max_lines
それがそうです。もし負の値がmax_lines
行制約は適用されない.これはmax_widthにも適用可能であるが,構成項は
astropy.conf.max_width
それがそうです。- パラメータ
- max_lines形がそろっているかないか
表出力中の最大行数.
- max_width形がそろっているかないか
出力の最大文字幅.
- show_nameブルル.
列名見出し行を含む。デフォルト値はTrueである.
- show_unitブルル.
単位タイトル行を含む。デフォルトの場合、1列または複数列が定義された単位値を有する場合にのみ、単位行が表示される。
- show_dtypeブルル.
列データタイプタイトル行が含まれています。デフォルト値はTrueである.
- align文字列、リスト、タプル、またはなし
列の左/右を合わせる。すべての列のデフォルト値は右(なし)である.その他の許容値はそれぞれ‘>’,‘<’,‘’^‘と’0=‘であり,それぞれ右,左,真ん中と0パディングを表す.複数列を有するテーブルを整列させるために文字列リストを提供することができる。
- pprint_all(max_lines=- 1, max_width=- 1, show_name=True, show_unit=None, show_dtype=False, align=None)[ソース]¶
フォーム全体のフォーマットされた文字列表示形式を印刷します。
この方法は以下の方法と同様である
astropy.table.Table.pprint
デフォルトを除いてmax_lines
そしてmax_width
いずれも、デフォルトでは、画面端末のサイズに制限するのではなく、フォーム全体を印刷する。- パラメータ
- max_lines形がそろっているかないか
表出力中の最大行数.
- max_width形がそろっているかないか
出力の最大文字幅.
- show_nameブルル.
列名見出し行を含む。デフォルト値はTrueである.
- show_unitブルル.
単位タイトル行を含む。デフォルトの場合、1列または複数列が定義された単位値を有する場合にのみ、単位行が表示される。
- show_dtypeブルル.
列データタイプタイトル行が含まれています。デフォルト値はTrueである.
- align文字列、リスト、タプル、またはなし
列の左/右を合わせる。すべての列のデフォルト値は右(なし)である.その他の許容値はそれぞれ‘>’,‘<’,‘’^‘と’0=‘であり,それぞれ右,左,真ん中と0パディングを表す.複数列を有するテーブルを整列させるために文字列リストを提供することができる。
- remove_column(name)[ソース]¶
表から列を削除する.
これは、以下のように実現することもできる。
del table[name]
- パラメータ
- name応力.応力
削除する列の名前
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
リスト‘b’::を表から削除します。
>>> t.remove_column('b') >>> print(t) a c --- --- 1 x 2 y 3 z
複数の列を同時に削除するには、REMOVE_COLUMNSを使用してください。
- remove_columns(names)[ソース]¶
表からいくつかの列を削除する.
- パラメータ
- namesリスト.リスト
削除する列の名前を含むリスト
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
リスト‘b’および‘c’::を表から削除します。
>>> t.remove_columns(['b', 'c']) >>> print(t) a --- 1 2 3
単一列のみを指定しても有効である.リスト‘b’::を表から削除します。
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> t.remove_columns('b') >>> print(t) a c --- --- 1 x 2 y 3 z
これはREMOVE_COLUMNを用いるのと同様である.
- remove_indices(colname)[ソース]¶
指定された列に関連するすべてのインデックスを削除する.主インデックスが削除された場合、新しい主インデックスは、最近追加された残りのインデックスとなる。
- パラメータ
- colname応力.応力
名前を列記する.
- remove_row(index)[ソース]¶
表から1行削除する.
- パラメータ
- index集積する.
削除する行のインデックス
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
表から1行目を削除:
>>> t.remove_row(1) >>> print(t) a b c --- --- --- 1 0.1 x 3 0.3 z
複数行を同時に削除するには、REMOVE_ROWSを使用してください。
- remove_rows(row_specifier)[ソース]¶
表から行を削除する.
- パラメータ
- row_specifierスライス、整数、または整数配列
削除する行の仕様
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
表から0行目と2行目を削除:
>>> t.remove_rows([0, 2]) >>> print(t) a b c --- --- --- 2 0.2 y
スライス演算子がデータ外に拡張されていれば、警告は発生しないことに注意されたい:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3], ['x', 'y', 'z']], ... names=('a', 'b', 'c')) >>> t.remove_rows(slice(10, 20, 1)) >>> print(t) a b c --- --- --- 1 0.1 x 2 0.2 y 3 0.3 z
- rename_column(name, new_name)[ソース]¶
重命が列に並ぶ。
これは直接使用することもできます方法は
name
列の属性::table[name].name = new_name
TODO:これはMixinには効きません
- パラメータ
- name応力.応力
列の現在の名前。
- new_name応力.応力
列の新名称
実例.
‘a’,‘b’,‘c’の3つの列を含むテーブルを作成する:
>>> t = Table([[1,2],[3,4],[5,6]], names=('a','b','c')) >>> print(t) a b c --- --- --- 1 3 5 2 4 6
列‘a’を‘aa’::
>>> t.rename_column('a' , 'aa') >>> print(t) aa b c --- --- --- 1 3 5 2 4 6
- rename_columns(names, new_names)[ソース]¶
複数の列をリネームする。
- パラメータ
- namesリスト、メタグループ
既存の列名のリストまたはタプル。
- new_namesリスト、メタグループ
新しい列名のリストまたはタプル。
実例.
3つの列‘a’,‘b’,‘c’を含むテーブルを作成する:
>>> t = Table([[1,2],[3,4],[5,6]], names=('a','b','c')) >>> print(t) a b c --- --- --- 1 3 5 2 4 6
列‘a’を‘aa’と再命名し、‘b’を‘bb’と再命名する:
>>> names = ('a','b') >>> new_names = ('aa','bb') >>> t.rename_columns(names, new_names) >>> print(t) aa bb c --- --- --- 1 3 5 2 4 6
- replace_column(name, col, copy=True)[ソース]¶
置換列
name
新しいのを使うcol
物体です。の行為です。
copy
列オブジェクトの場合:-copy=True:データコピーとmeta-copy深さコピーを持つ新しいクラスインスタンス-copy=false:同じデータとメタデータを持つキーコピーのみの新しいクラスインスタンスMixin列の場合:-copy=True:データコピー付き新しいクラスインスタンスとmeta-copyの深層コピー=False:オリジナルインスタンス(コピーがまったくない)
- パラメータ
実例.
列‘a’を自身の浮動バージョンに置き換える:
>>> t = Table([[1, 2, 3], [0.1, 0.2, 0.3]], names=('a', 'b')) >>> float_a = t['a'].astype(float) >>> t.replace_column('a', float_a)
- reverse()[ソース]¶
表行の行順序を逆にする.表は適切な位置で反転しており,関数パラメータはない.
実例.
3列を含む表を作成します。
>>> t = Table([['Max', 'Jo', 'John'], ['Miller','Miller','Jackson'], ... [12,15,18]], names=('firstname','name','tel')) >>> print(t) firstname name tel --------- ------- --- Max Miller 12 Jo Miller 15 John Jackson 18
順番を逆にする:
>>> t.reverse() >>> print(t) firstname name tel --------- ------- --- John Jackson 18 Jo Miller 15 Max Miller 12
- round(decimals=0)[ソース]¶
指定された小数桁まで数字列をその場で丸める.非数字列は無視されるだろう。
- パラメータ
- 小数:int,dict
列を丸めた小さな数桁でなければならない.辞書が与えられた場合、列は指定された値に丸められる。もしある欄が与えられた辞書にない場合、それは変わらないだろう。
実例.
3つの異なるタイプの柱を作ります
>>> t = Table([[1, 4, 5], [-25.55, 12.123, 85], ... ['a', 'b', 'c']], names=('a', 'b', 'c')) >>> print(t) a b c --- ------ --- 1 -25.55 a 4 12.123 b 5 85.0 c
それらをすべて0に切り捨てる:
>>> t.round(0) >>> print(t) a b c --- ----- --- 1 -26.0 a 4 12.0 b 5 85.0 c
四捨五入列‘a’から-1小数:
>>> t.round({'a':-1}) >>> print(t) a b c --- ----- --- 0 -26.0 a 0 12.0 b 0 85.0 c
- show_in_browser(max_lines=5000, jsviewer=False, browser='default', jskwargs={'use_local_files': True}, tableid=None, table_class='display compact', css=None, show_row_index='idx')[ソース]¶
フォームをHTML形式で提示し,Webブラウザに表示する.
- パラメータ
- max_lines集積する.
テーブルへの最大行数の導出(ブラウザビューはメモリにテーブルをコピーする必要があるので、メモリ問題を回避するためにデフォルトで低く設定されています)。負の値
max_lines
行制限がないことを示す.- jsviewerブルル.
もし
True
, prepends some javascript headers so that the table is rendered as a DataTables データテーブルです。これにより、ブラウザでの検索とソートが可能になります。- browser応力.応力
Any legal browser name, e.g.
'firefox'
,'chrome'
,'safari'
(for mac, you may need to use'open -a "/Applications/Google Chrome.app" {}'
for Chrome). If'default'
, will use the system default browser.- jskwargsディクト!
伝達することができます
astropy.table.JSViewer
初期化します。黙認する.{{'use_local_files': True}}
これはJavaScriptライブラリがローカルコピーから提供されることを意味する.- tableid文字列またはなし
表のhtml IDタグ.デフォルト値は
table{{id}}
ただし,idは表オブジェクトの唯一の整数id,id(Self)である.- table_class文字列またはなし
フォームスタイルを設定するためのHTMLクラスリストを含む文字列.デフォルト値は“display Compact”であり,他の可能な値はhttps://www.datatables.net/Manual/style/classで見つけることができる.
- css応力.応力
宣言フォーム形式の有効なCSS文字列。黙認する.
astropy.table.jsviewer.DEFAULT_CSS
それがそうです。- show_row_index文字列またはFalse
計算結果がFalseでなければ,与えられた名前を持つ列を表示するテーブルのバージョンに追加する.この新しい列は表自体の行のインデックスを示しており,表示された表を別の列で並べ替えた場合でも同様である.同名の列が存在する場合、このオプションは無視されることに注意されたい。デフォルトでは“idx”とする.
- show_in_notebook(tableid=None, css=None, display_length=50, table_class='astropy-default', show_row_index='idx')[ソース]¶
フォームをHTML形式で提示し、IPythonノートに表示します。
- パラメータ
- tableid文字列またはなし
表のhtml IDタグ.デフォルト値は
table{{id}}-XXX
ここで、idはフォームオブジェクトの唯一の整数id、id(Self)、xxxは同じフォームを複数回印刷する際に衝突しないように乱数である。- table_class文字列またはなし
フォームスタイルを設定するためのHTMLクラスリストを含む文字列.特殊なデフォルト文字列(‘Astpy-Default’)は,配置項目からその文字列を検索することを表す
astropy.table.default_notebook_table_class
それがそうです。これらの表類はノートと一緒にロードされているので、ガイドが使用される可能性がありますので注意してください。参照してください this page クラスリストを見る。- css応力.応力
宣言フォーム形式の有効なCSS文字列。黙認する.
astropy.table.jsviewer.DEFAULT_CSS_NB
それがそうです。- display_length形が整っていて、オプションです
表示する番号か行です。デフォルトは50です。
- show_row_index文字列またはFalse
計算結果がFalseでなければ,与えられた名前を持つ列を表示するテーブルのバージョンに追加する.この新しい列は表自体の行のインデックスを示しており,表示された表を別の列で並べ替えた場合でも同様である.同名の列が存在する場合、このオプションは無視されることに注意されたい。デフォルトでは“idx”とする.
注意事項
現在では
show_in_browser
(と)jsviewer=True
)、この方法は、オンラインJavascriptコードライブラリにアクセスする必要があります。これは,現代ブラウザのローカルファイルへのアクセス制限によるものである.したがって、オフライン状態でこの方法をダウンすると(jQueryおよびjquery.dataTablesのキャッシュバージョンがありません)、jsviewer特性を得ることができません。
- sort(keys=None, reverse=False)[ソース]¶
テーブルは、1つまたは複数のキーに従ってソートされる。これは既存の表を操作し,新しい表に戻ることはない.
- パラメータ
- keys文字列または文字列リスト
表をソートするための鍵.ない場合は,表の主インデックスを用いる.
- reverseブルル.
逆の順にソートする(デフォルト値=False)
実例.
3列を含むフォームの作成:
>>> t = Table([['Max', 'Jo', 'John'], ['Miller', 'Miller', 'Jackson'], ... [12, 15, 18]], names=('firstname', 'name', 'tel')) >>> print(t) firstname name tel --------- ------- --- Max Miller 12 Jo Miller 15 John Jackson 18
標準的なソート規則に従ってソートすると、まず“name”、そして“firstname”::
>>> t.sort(['name', 'firstname']) >>> print(t) firstname name tel --------- ------- --- John Jackson 18 Jo Miller 15 Max Miller 12
標準ランキング規則による順位付けは,まず‘Firstname’,次に‘tel’であり,順序は逆:
>>> t.sort(['firstname', 'tel'], reverse=True) >>> print(t) firstname name tel --------- ------- --- Max Miller 12 John Jackson 18 Jo Miller 15
- to_pandas(index=None, use_nullable_int=True)[ソース]¶
1つに戻る
pandas.DataFrame
実例.作成されたDataFrameのインデックスは
index
論争する。上のindex=True
デフォルト設定またはデフォルト設定None
表上にマスタ鍵インデックスがあれば,DataFrameにインデックスを指定する. and もしそれが単一の列に対応していれば。もし…。index=False
DataFrameインデックスは指定されない.もし…。index
表中の名前であればDataFrameインデックスとなる.通常の列またはマスク列に加えて、Quantity、Time、またはSkyCoordのような表混合列をサポートする。多くの場合、これらのオブジェクトはパンダに類似したオブジェクトを持たず、ColumnまたはMaskedColumnのみを使用して“コード”表現に変換される。例外的にはTimeやTimeDelta列であり,パンダの対応する表現に変換する
np.datetime64
あるいは…。np.timedelta64
それがそうです。以下の例を参照されたい。- パラメータ
- index無、ブール、文字列
DataFrameインデックスパターンの指定
- use_nullable_intブール値、デフォルト値=True
整数MaskedColumnを空に変換可能なパンダ整数タイプに変換する。もし…。
use_nullable_int=False
またはPANDAバージョンが空であってもよい整数タイプ(バージョン0.24未満)をサポートしていない場合、列は、不足している要素の場合、FLOAT WITH NANに変換され、警告を発する。
- 返品
- データフレーム. :
pandas.DataFrame
pandas.DataFrame
パンダ1頭.
pandas.DataFrame
実例.
- データフレーム. :
- 賃上げをする
- ImportError
パンダを設置していなければ
- ValueError
もし表に多次元列があれば
実例.
ここでは,いくつかの混合を含む表を
pandas.DataFrame
例を挙げましょう>>> import pandas as pd >>> from astropy.table import QTable >>> import astropy.units as u >>> from astropy.time import Time, TimeDelta >>> from astropy.coordinates import SkyCoord
>>> q = [1, 2] * u.m >>> tm = Time([1998, 2002], format='jyear') >>> sc = SkyCoord([5, 6], [7, 8], unit='deg') >>> dt = TimeDelta([3, 200] * u.s)
>>> t = QTable([q, tm, sc, dt], names=['q', 'tm', 'sc', 'dt'])
>>> df = t.to_pandas(index='tm') >>> with pd.option_context('display.max_columns', 20): ... print(df) q sc.ra sc.dec dt tm 1998-01-01 1.0 5.0 7.0 0 days 00:00:03 2002-01-01 2.0 6.0 8.0 0 days 00:03:20
- values_equal(other)[ソース]¶
表は、別のテーブル、リスト、またはスカラの要素別と比較される。
1つに戻る
Table
このうち同じ列には比較結果を示すブール値が含まれている.- パラメータ
- other表状オブジェクト、リスト、またはスカラ
表と比較する対象
実例.
1つのテーブルを他のテーブルと比較する:
>>> t1 = Table([[1, 2], [4, 5], [-7, 8]], names=('a', 'b', 'c')) >>> t2 = Table([[1, 2], [-4, 5], [7, 8]], names=('a', 'b', 'c')) >>> t1.values_equal(t2) <Table length=2> a b c bool bool bool ---- ----- ----- True False False True True True