neurolang.utils.relational_algebra_set.pandas module

class neurolang.utils.relational_algebra_set.pandas.NamedRelationalAlgebraFrozenSet(columns, iterable=None)

Bases: RelationalAlgebraFrozenSet, NamedRelationalAlgebraFrozenSet

Attributes:
arity
columns

Methods

isdisjoint(other)

Return True if two sets have a null intersection.

projection(*columns)

Projects the set on the given list of columns.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

aggregate

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

explode

extended_projection

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

left_naturaljoin

naturaljoin

projection_to_unnamed

rename_column

rename_columns

replace_null

to_unnamed

aggregate(group_columns, aggregate_function)
property arity
property columns
classmethod create_view_from(other)
cross_product(other)
classmethod dee()
classmethod dum()
equijoin(other, join_indices)
explode(src_column, dst_columns)
extended_projection(eval_expressions)
fetch_one()
groupby(columns)
left_naturaljoin(other)
naturaljoin(other)
projection(*columns)

Projects the set on the given list of columns.

Examples

>>> ras = RelationalAlgebraFrozenSet(
        [(i % 2, i, i * 2) for i in range(5)])
>>> ras
   0  1  2
0  0  0  0
1  1  1  2
2  0  2  4
3  1  3  6
4  0  4  8
>>> ras.projection(1)
   0
0  0
1  1
2  2
3  3
4  4
projection_to_unnamed(*columns)
rename_column(src, dst)
rename_columns(renames)
replace_null(column, value)
to_unnamed()
class neurolang.utils.relational_algebra_set.pandas.RelationalAlgebraFrozenSet(iterable=None)

Bases: RelationalAlgebraFrozenSet

RelationalAlgebraFrozenSet implementation using in-memory pandas.DataFrame as container for the elements.

Attributes:
arity
columns

Methods

isdisjoint(other)

Return True if two sets have a null intersection.

projection(*columns)

Projects the set on the given list of columns.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

property arity
as_numpy_array()
as_pandas_dataframe()
property columns
copy()
classmethod create_view_from(other)
cross_product(other)
classmethod dee()
classmethod dum()
equijoin(other, join_indices)
fetch_one()
groupby(columns)
is_empty()
itervalues()
projection(*columns)

Projects the set on the given list of columns.

Examples

>>> ras = RelationalAlgebraFrozenSet(
        [(i % 2, i, i * 2) for i in range(5)])
>>> ras
   0  1  2
0  0  0  0
1  1  1  2
2  0  2  4
3  1  3  6
4  0  4  8
>>> ras.projection(1)
   0
0  0
1  1
2  2
3  3
4  4
selection(select_criteria: Callable | RelationalAlgebraStringExpression | Dict[int, int | Callable])

Select the elements based on the given selet_criteria. The select_criteria may be a callable function, a string expression or a Dict of columns -> value

Parameters:
select_criteriaUnion[Callable, RelationalAlgebraStringExpression,
Dict[int, Union[int, Callable]]]

selection criteria

Returns:
RelationalAlgebraFrozenSet

A RelationalAlgebraFrozenSet with elements matching the criteria.

selection_columns(select_criteria: Dict[int, int])

Select the elements where column pairs indicated as key, value items of the select_criteria are equal. The select_criteria must be a Dict of Int -> Int.

Parameters:
select_criteriaDict [Int, Int]

selection criteria

Returns:
RelationalAlgebraFrozenSet

A RelationalAlgebraFrozenSet with elements matching the criteria.

Examples

Select the elements where col0 == col1 and col1 == col2 >>> ras = RelationalAlgebraFrozenSet(

[(i % 2, i, i * 2) for i in range(5)])

>>> ras.selection_columns({0:1, 1: 2})
   0  1  2
0  0  0  0
class neurolang.utils.relational_algebra_set.pandas.RelationalAlgebraSet(iterable=None)

Bases: RelationalAlgebraFrozenSet, RelationalAlgebraSet

Attributes:
arity
columns

Methods

add(value)

Add an element.

clear()

This is slow (creates N new iterators!) but effective.

discard(value)

Remove an element.

isdisjoint(other)

Return True if two sets have a null intersection.

pop()

Return the popped value.

projection(*columns)

Projects the set on the given list of columns.

remove(value)

Remove an element.

selection(select_criteria)

Select the elements based on the given selet_criteria.

selection_columns(select_criteria)

Select the elements where column pairs indicated as key, value items of the select_criteria are equal.

as_numpy_array

as_pandas_dataframe

copy

create_view_from

cross_product

dee

dum

equijoin

fetch_one

groupby

is_dee

is_dum

is_empty

itervalues

add(value)

Add an element.

discard(value)

Remove an element. Do not raise an exception if absent.

class neurolang.utils.relational_algebra_set.pandas.RelationalAlgebraStringExpression

Bases: str

Methods

capitalize(/)

Return a capitalized version of the string.

casefold(/)

Return a version of the string suitable for caseless comparisons.

center(width[, fillchar])

Return a centered string of length width.

count(sub[, start[, end]])

Return the number of non-overlapping occurrences of substring sub in string S[start:end].

encode(/[, encoding, errors])

Encode the string using the codec registered for encoding.

endswith(suffix[, start[, end]])

Return True if S ends with the specified suffix, False otherwise.

expandtabs(/[, tabsize])

Return a copy where all tab characters are expanded using spaces.

find(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

format(*args, **kwargs)

Return a formatted version of S, using substitutions from args and kwargs.

format_map(mapping)

Return a formatted version of S, using substitutions from mapping.

index(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

isalnum(/)

Return True if the string is an alpha-numeric string, False otherwise.

isalpha(/)

Return True if the string is an alphabetic string, False otherwise.

isascii(/)

Return True if all characters in the string are ASCII, False otherwise.

isdecimal(/)

Return True if the string is a decimal string, False otherwise.

isdigit(/)

Return True if the string is a digit string, False otherwise.

isidentifier(/)

Return True if the string is a valid Python identifier, False otherwise.

islower(/)

Return True if the string is a lowercase string, False otherwise.

isnumeric(/)

Return True if the string is a numeric string, False otherwise.

isprintable(/)

Return True if the string is printable, False otherwise.

isspace(/)

Return True if the string is a whitespace string, False otherwise.

istitle(/)

Return True if the string is a title-cased string, False otherwise.

isupper(/)

Return True if the string is an uppercase string, False otherwise.

join(iterable, /)

Concatenate any number of strings.

ljust(width[, fillchar])

Return a left-justified string of length width.

lower(/)

Return a copy of the string converted to lowercase.

lstrip([chars])

Return a copy of the string with leading whitespace removed.

maketrans(x[, y, z])

Return a translation table usable for str.translate().

partition(sep, /)

Partition the string into three parts using the given separator.

replace(old, new[, count])

Return a copy with all occurrences of substring old replaced by new.

rfind(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rindex(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rjust(width[, fillchar])

Return a right-justified string of length width.

rpartition(sep, /)

Partition the string into three parts using the given separator.

rsplit(/[, sep, maxsplit])

Return a list of the words in the string, using sep as the delimiter string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the words in the string, using sep as the delimiter string.

splitlines(/[, keepends])

Return a list of the lines in the string, breaking at line boundaries.

startswith(prefix[, start[, end]])

Return True if S starts with the specified prefix, False otherwise.

strip([chars])

Return a copy of the string with leading and trailing whitespace removed.

swapcase(/)

Convert uppercase characters to lowercase and lowercase characters to uppercase.

title(/)

Return a version of the string where each word is titlecased.

translate(table, /)

Replace each character in the string using the given translation table.

upper(/)

Return a copy of the string converted to uppercase.

zfill(width, /)

Pad a numeric string with zeros on the left, to fill a field of the given width.