#

class astropy.table.Column(data=None, name=None, dtype=None, shape=(), length=0, description=None, unit=None, format=None, meta=None, copy=False, copy_indices=True)[源代码]#

基类:BaseColumn

定义要在表对象中使用的数据列。

参数:
data : listndarray ,或 NonePYTHON:LIST、ndarray或PYTHON:无

列数据值

name : strPython :字符串

表中引用的列名和键

dtype : dtypeastropy:-like占星术:-就像

列的数据类型

shape : tuple 或()Python:元组或()

列数据中单个行元素的维度

length : int 或0PYTHON:INT或0

列数据中的行元素数

description : strNonePYTHON:字符串或PYTHON:无

列的完整描述

unit : strNonePYTHON:字符串或PYTHON:无

物理单位

format : strNone ,或 callable()PYTHON:STR、PYTHON:NONE或PYTHON:Callable()

用于输出列值的格式字符串。这可能是一种“旧风格” (format % value )或者“新风格” (str.format )格式规范字符串或接受单个值并返回字符串的函数或任何可调用对象。

meta : dict-like or None类似词典的或

与列关联的元数据

实例

可以用两种不同的方法创建列:

  • 提供一个 data 有价值但没有 shapelength (根据数据推断)。

    实例:

    col = Column(data=[1, 2], name='name')  # shape=(2,)
    col = Column(data=[[1, 2], [3, 4]], name='name')  # shape=(2, 2)
    col = Column(data=[1, 2], name='name', dtype=float)
    col = Column(data=np.array([1, 2]), name='name')
    col = Column(data=['hello', 'world'], name='name')
    

    这个 dtype 参数可以是可接受的固定大小数据类型初始值设定项的任何值数字.dtype()方法。看到了吗 https://numpy.org/doc/stable/reference/arrays.dtypes.html . 示例包括:

    • Python非字符串类型(float、int、bool)

    • Numpy非字符串类型(例如。np.浮动32, np.int64, np.bool_)

    • 数字.dtype数组协议类型字符串(例如“i4”、“f8”、“S15”)

    如果没有 dtype 值,然后使用 np.array(data) .

  • 提供 length 任选地 shape ,但不是 data

    实例:

    col = Column(name='name', length=5)
    col = Column(name='name', dtype=int, length=10, shape=(3,4))
    

    默认值 dtypenp.float64 . 这个 shape 参数是列中单个单元格的数组形状。

要访问 Column 将数据作为原始数据 numpy.ndarray 对象,则可以使用 datavalue 属性(等同):

col.data
col.value

属性摘要

name 

此列的名称。

quantity 

此表列的视图 Quantity 对象的 unit 参数。

unit 

与此列关联的单位。

方法总结

convert_unit_to(new_unit[, equivalencies])

将列的值从当前单位转换为给定单位。

copy([order, data, copy_data])

返回当前实例的副本。

insert(obj, values[, axis])

在列中的给定索引之前插入值,并返回一个新的 Column 对象。

more([max_lines, show_name, show_unit])

使用分页界面交互浏览列。

pformat([max_lines, show_name, show_unit, ...])

返回列值的格式化字符串表示形式的列表。

pprint([max_lines, show_name, show_unit, ...])

打印列值的格式化字符串表示形式。

to(unit[, equivalencies])

将此表列转换为 Quantity 对象与请求的单位。

属性文档

name#

此列的名称。

quantity#

此表列的视图 Quantity 对象的 unit 参数。

unit#

与此列关联的单位。可能是字符串或 astropy.units.UnitBase 实例。

设置 unit 属性不更改数据的值。要执行单位转换,请使用 convert_unit_to .

方法文件

convert_unit_to(new_unit, equivalencies=[])#

将列的值从当前单位转换为给定单位。

要更改与此列关联的单位而不实际更改数据值,只需设置 unit 财产。

参数:
new_unit : strastropy.units.UnitBase 实例PYTHON:STR或AXTYPY.units.UnitBase实例

要转换为的单位。

equivalencies : listtuplePYTHON:PYTHON列表:元组

如果单位不能直接转换,可尝试的等价对列表。看见 等价物

加薪:
astropy.units.UnitsError

如果单位不一致

copy(order='C', data=None, copy_data=True)#

返回当前实例的副本。

如果 data 然后提供的视图(参考) data 使用,并且 copy_data 被忽略。

参数:
order'C'、'F'、'A'、'K',可选

控制副本的内存布局。'“c”表示“c”顺序,“f”表示“f”顺序,“a”表示“f”如果 a Fortran是连续的,否则为“c”。k'表示与 a 尽可能接近。(请注意,此功能和:numpy.copy是非常相似,但是它们的order=参数有不同的默认值。)默认值是'C'。

data : array ,可选可选数组

如果提供,则使用 data 而不是实例数据。这允许复制实例属性和meta。

copy_data : bool ,可选可选的布尔

复制内部numpy数组,而不是使用引用。默认值为True。

返回:
col : ColumnMaskedColumn列或掩码列

当前列的副本(与原始列的类型相同)

insert(obj, values, axis=0)[源代码]#

在列中的给定索引之前插入值,并返回一个新的 Column 对象。

参数:
obj : intslicesequenceintPYTHON:INT、SLICE或PYTHON:PYSTORY OF PYSTORY:INT

定义一个或多个索引的对象, values 插入。

values : array_likeNumpy:ARRAY_LIKE

要插入的值。如果 values 和柱子上的不同, values 转换为匹配类型。 values 它的形状应该使它能被适当地播放。

axis : int ,可选PYTHON:int,可选

插入轴 values . 如果 axis 如果为“无”,则列数组在插入之前被展平。默认值为0,这将插入一行。

返回:
outColumn

列的副本 valuesmask 插入。请注意,插入操作没有发生在适当的位置:将返回一个新列。

more(max_lines=None, show_name=True, show_unit=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 : intPython :整型

表输出中的最大行数。

show_name : bool布尔

包括列名的标题行。默认值为True。

show_unit : bool布尔

包括单位的标题行。默认值为False。

pformat(max_lines=None, show_name=True, show_unit=False, show_dtype=False, html=False)#

返回列值的格式化字符串表示形式的列表。

如果没有值 max_lines 然后使用屏幕终端的高度来设置 max_lines . 如果无法确定端子高度,则将使用 astropy.conf.max_lines 配置项。如果负值为 max_lines 则没有应用行限制。

参数:
max_lines : intPython :整型

最大输出行数(标题+数据行)

show_name : bool布尔

包括列名。默认值为True。

show_unit : bool布尔

包括单位的标题行。默认值为False。

show_dtype : bool布尔

包括列数据类型。默认值为False。

html : bool布尔

将输出格式化为HTML表。默认值为False。

返回:
lines : listPython :列表

具有标题和格式化列值的行的列表

pprint(max_lines=None, show_name=True, show_unit=False, show_dtype=False)#

打印列值的格式化字符串表示形式。

如果没有值 max_lines 然后使用屏幕终端的高度来设置 max_lines . 如果无法确定端子高度,则将使用 astropy.conf.max_lines 配置项。如果负值为 max_lines 则没有应用行限制。

参数:
max_lines : intPython :整型

输出中的最大值数

show_name : bool布尔

包括列名。默认值为True。

show_unit : bool布尔

包括单位的标题行。默认值为False。

show_dtype : bool布尔

包括列数据类型。默认值为True。

to(unit, equivalencies=[], **kwargs)#

将此表列转换为 Quantity 对象与请求的单位。

参数:
unit : astropy:unit-like占星体:单位状

要转换为的单位(即 astropy.units.Quantity.to() 方法)。

equivalencies : listtuplePYTHON:PYTHON列表:元组

用于此转换的等效项。看到了吗 astropy.units.Quantity.to() 了解更多详细信息。

返回:
Quantity数量

以单位表示此列内容的quantity对象 unit .