Merge branch 'fix-result-place' into 'development'

Fix Result.place for multiple matching entries

See merge request damask/DAMASK!354
This commit is contained in:
Ruxin Zhang 2021-03-08 22:18:15 +00:00
commit 6b6f66a5b9
2 changed files with 42 additions and 2 deletions

View File

@ -391,12 +391,12 @@ class Result:
path = (os.path.join(*([prop,name]+([cat] if cat else [])+([item] if item else []))) if split else path)+tag
if split:
try:
tbl[inc].add(path,data)
tbl[inc] = tbl[inc].add(path,data)
except KeyError:
tbl[inc] = Table(data.reshape(self.N_materialpoints,-1),{path:data.shape[1:]})
else:
try:
tbl.add(path,data)
tbl = tbl.add(path,data)
except AttributeError:
tbl = Table(data.reshape(self.N_materialpoints,-1),{path:data.shape[1:]})

View File

@ -189,6 +189,11 @@ class Table:
label : str
Column label.
Returns
-------
data : numpy.ndarray
Array of column data.
"""
if re.match(r'[0-9]*?_',label):
idx,key = label.split('_',1)
@ -212,6 +217,11 @@ class Table:
info : str, optional
Human-readable information about the new data.
Returns
-------
table : Table
Updated table.
"""
dup = self.copy()
dup._add_comment(label,data.shape[1:],info)
@ -238,6 +248,11 @@ class Table:
info : str, optional
Human-readable information about the modified data.
Returns
-------
table : Table
Updated table.
"""
dup = self.copy()
dup._add_comment(label,data.shape[1:],info)
@ -261,6 +276,11 @@ class Table:
label : str
Column label.
Returns
-------
table : Table
Updated table.
"""
dup = self.copy()
dup.data.drop(columns=label,inplace=True)
@ -279,6 +299,11 @@ class Table:
label_new : str or iterable of str
New column label(s).
Returns
-------
table : Table
Updated table.
"""
dup = self.copy()
columns = dict(zip([old] if isinstance(old,str) else old,
@ -300,6 +325,11 @@ class Table:
ascending : bool or list, optional
Set sort order.
Returns
-------
table : Table
Updated table.
"""
dup = self.copy()
dup._label_discrete()
@ -320,6 +350,11 @@ class Table:
other : Table
Table to append.
Returns
-------
table : Table
Concatenated table.
"""
if self.shapes != other.shapes or not self.data.columns.equals(other.data.columns):
raise KeyError('Labels or shapes or order do not match')
@ -340,6 +375,11 @@ class Table:
other : Table
Table to join.
Returns
-------
table : Table
Joined table.
"""
if set(self.shapes) & set(other.shapes) or self.data.shape[0] != other.data.shape[0]:
raise KeyError('Dublicated keys or row count mismatch')