neurolang.utils.relational_algebra_set.pandas module

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

Bases: RelationalAlgebraFrozenSet, NamedRelationalAlgebraFrozenSet

Attributes:
arity
columns
might_have_duplicates

Sets the flag manually on whether the set might have duplicates.

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
might_have_duplicates

Sets the flag manually on whether the set might have duplicates.

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()
property might_have_duplicates

Sets the flag manually on whether the set might have duplicates. Careful, if you set it to False and it’s not, then the semantics of the queries will break.

Returns:
bool

returns whether the set might have duplicates.

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
might_have_duplicates

Sets the flag manually on whether the set might have duplicates.

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.

removeprefix(prefix, /)

Return a str with the given prefix string removed if present.

removesuffix(suffix, /)

Return a str with the given suffix string removed if present.

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 substrings in the string, using sep as the separator string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator 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.