in core/maxframe/dataframe/misc/apply.py [0:0]
def _call_dataframe(self, df, dtypes=None, dtype=None, name=None, index=None):
# for backward compatibility
dtype = dtype if dtype is not None else dtypes
dtypes, index_value = self._infer_df_func_returns(
df, dtypes, dtype=dtype, name=name, index=index
)
if index_value is None:
index_value = parse_index(None, (df.key, df.index_value.key))
for arg, desc in zip((self.output_types, dtypes), ("output_types", "dtypes")):
if arg is None:
raise TypeError(
f"Cannot determine {desc} by calculating with enumerate data, "
"please specify it as arguments"
)
if index_value == "inherit":
index_value = df.index_value
if self.elementwise:
shape = df.shape
elif self.output_types[0] == OutputType.dataframe:
shape = [np.nan, np.nan]
shape[1 - self.axis] = df.shape[1 - self.axis]
if self.axis == 1:
shape[1] = len(dtypes)
shape = tuple(shape)
else:
shape = (df.shape[1 - self.axis],)
if self.output_types[0] == OutputType.dataframe:
if self.axis == 0:
return self.new_dataframe(
[df],
shape=shape,
dtypes=dtypes,
index_value=index_value,
columns_value=parse_index(dtypes.index, store_data=True),
)
else:
return self.new_dataframe(
[df],
shape=shape,
dtypes=dtypes,
index_value=df.index_value,
columns_value=parse_index(dtypes.index, store_data=True),
)
else:
name, dtype = dtypes
return self.new_series(
[df], shape=shape, name=name, dtype=dtype, index_value=index_value
)