datascience.tables.Table.with_column¶
- Table.with_column(label, values, formatter=None)[source]¶
Return a new table with an additional or replaced column.
- Args:
label
(str): The column label. If an existing label is used,the existing column will be replaced in the new table.
values
(single value or sequence): If a single value, everyvalue in the new column is
values
. If sequence of values, new column takes on values invalues
.
formatter
(single value): Specifies formatter for the new column. Defaults to no formatter.- Raises:
ValueError
: Iflabel
is not a valid column nameif
label
is not of type (str)values
is a list/array that does not have the samelength as the number of rows in the table.
- Returns:
copy of original table with new or replaced column
>>> alphabet = Table().with_column('letter', make_array('c','d')) >>> alphabet = alphabet.with_column('count', make_array(2, 4)) >>> alphabet letter | count c | 2 d | 4 >>> alphabet.with_column('permutes', make_array('a', 'g')) letter | count | permutes c | 2 | a d | 4 | g >>> alphabet letter | count c | 2 d | 4 >>> alphabet.with_column('count', 1) letter | count c | 1 d | 1 >>> alphabet.with_column(1, make_array(1, 2)) Traceback (most recent call last): ... ValueError: The column label must be a string, but a int was given >>> alphabet.with_column('bad_col', make_array(1)) Traceback (most recent call last): ... ValueError: Column length mismatch. New column does not have the same number of rows as table.