Add iref to get_energyterms_dataframe

This commit is contained in:
Matteo Giantomassi 2018-01-26 17:41:24 +01:00
parent 0330ad222f
commit 4113015095
2 changed files with 9 additions and 4 deletions

View File

@ -500,16 +500,19 @@ class GsrRobot(Robot, RobotWithEbands):
dataframe = pd.DataFrame(rows, index=index, columns=list(rows[0].keys()) if rows else None)
return dict2namedtuple(fits=fits, dataframe=dataframe)
def get_energyterms_dataframe(self, abspath=False):
def get_energyterms_dataframe(self, iref=None, abspath=False):
rows, row_names = [], []
for label, gsr in self.items():
row_names.append(label)
rows.append(gsr.energy_terms)
d = OrderedDict([("energy", gsr.energy)])
d.update(gsr.energy_terms)
rows.append(d)
row_names = row_names if not abspath else self._to_relpaths(row_names)
df = pd.DataFrame(rows, index=row_names, columns=list(rows[0].keys()))
first_row = df.iloc[[0]].values[0]
df = df.apply(lambda row: row - first_row, axis=1)
if iref is not None:
first_row = df.iloc[[iref]].values[0]
df = df.apply(lambda row: row - first_row, axis=1)
return df
@add_fig_kwargs

View File

@ -543,6 +543,7 @@ def _invoke_robot(options):
if options.ipython:
import IPython
robot.trim_paths()
IPython.embed(header=repr(robot) + "\n\nType `robot` in the terminal and use <TAB> to list its methods",
robot=robot)
@ -550,6 +551,7 @@ def _invoke_robot(options):
robot.make_and_open_notebook(foreground=options.foreground)
else:
robot.trim_paths()
#df = robot.get_params_dataframe()
#abilab.print_dataframe(df, title="Output of robot.get_params_dataframe():")