A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pandas-dev/pandas/commit/1234234de617aa246dff70c0cf9f3216a0737e13 below:

_wrap_applied_output (#36160) · pandas-dev/pandas@1234234 · GitHub

@@ -1192,113 +1192,104 @@ def _wrap_applied_output(self, keys, values, not_indexed_same=False):

1192 1192

return self.obj._constructor()

1193 1193

elif isinstance(first_not_none, DataFrame):

1194 1194

return self._concat_objects(keys, values, not_indexed_same=not_indexed_same)

1195 -

else:

1196 -

key_index = self.grouper.result_index if self.as_index else None

1197 - 1198 -

if isinstance(first_not_none, Series):

1199 -

# this is to silence a DeprecationWarning

1200 -

# TODO: Remove when default dtype of empty Series is object

1201 -

kwargs = first_not_none._construct_axes_dict()

1202 -

backup = create_series_with_explicit_dtype(

1203 -

dtype_if_empty=object, **kwargs

1204 -

)

1205 - 1206 -

values = [x if (x is not None) else backup for x in values]

1207 1195 1208 -

v = values[0]

1209 - 1210 -

if not isinstance(v, (np.ndarray, Index, Series)) and self.as_index:

1211 -

# values are not series or array-like but scalars

1212 -

# self._selection_name not passed through to Series as the

1213 -

# result should not take the name of original selection

1214 -

# of columns

1215 -

return self.obj._constructor_sliced(values, index=key_index)

1196 +

key_index = self.grouper.result_index if self.as_index else None

1197 + 1198 +

if isinstance(first_not_none, Series):

1199 +

# this is to silence a DeprecationWarning

1200 +

# TODO: Remove when default dtype of empty Series is object

1201 +

kwargs = first_not_none._construct_axes_dict()

1202 +

backup = create_series_with_explicit_dtype(dtype_if_empty=object, **kwargs)

1203 + 1204 +

values = [x if (x is not None) else backup for x in values]

1205 + 1206 +

v = values[0]

1207 + 1208 +

if not isinstance(v, (np.ndarray, Index, Series)) and self.as_index:

1209 +

# values are not series or array-like but scalars

1210 +

# self._selection_name not passed through to Series as the

1211 +

# result should not take the name of original selection

1212 +

# of columns

1213 +

return self.obj._constructor_sliced(values, index=key_index)

1214 + 1215 +

if isinstance(v, Series):

1216 +

all_indexed_same = all_indexes_same((x.index for x in values))

1217 + 1218 +

# GH3596

1219 +

# provide a reduction (Frame -> Series) if groups are

1220 +

# unique

1221 +

if self.squeeze:

1222 +

applied_index = self._selected_obj._get_axis(self.axis)

1223 +

singular_series = len(values) == 1 and applied_index.nlevels == 1

1224 + 1225 +

# assign the name to this series

1226 +

if singular_series:

1227 +

values[0].name = keys[0]

1228 + 1229 +

# GH2893

1230 +

# we have series in the values array, we want to

1231 +

# produce a series:

1232 +

# if any of the sub-series are not indexed the same

1233 +

# OR we don't have a multi-index and we have only a

1234 +

# single values

1235 +

return self._concat_objects(

1236 +

keys, values, not_indexed_same=not_indexed_same

1237 +

)

1216 1238 1239 +

# still a series

1240 +

# path added as of GH 5545

1241 +

elif all_indexed_same:

1242 +

from pandas.core.reshape.concat import concat

1243 + 1244 +

return concat(values)

1245 + 1246 +

if not all_indexed_same:

1247 +

# GH 8467

1248 +

return self._concat_objects(keys, values, not_indexed_same=True)

1249 + 1250 +

# Combine values

1251 +

# vstack+constructor is faster than concat and handles MI-columns

1252 +

stacked_values = np.vstack([np.asarray(v) for v in values])

1253 + 1254 +

if self.axis == 0:

1255 +

index = key_index

1256 +

columns = v.index.copy()

1257 +

if columns.name is None:

1258 +

# GH6124 - propagate name of Series when it's consistent

1259 +

names = {v.name for v in values}

1260 +

if len(names) == 1:

1261 +

columns.name = list(names)[0]

1217 1262

else:

1218 -

if isinstance(v, Series):

1219 -

all_indexed_same = all_indexes_same((x.index for x in values))

1220 - 1221 -

# GH3596

1222 -

# provide a reduction (Frame -> Series) if groups are

1223 -

# unique

1224 -

if self.squeeze:

1225 -

applied_index = self._selected_obj._get_axis(self.axis)

1226 -

singular_series = (

1227 -

len(values) == 1 and applied_index.nlevels == 1

1228 -

)

1229 - 1230 -

# assign the name to this series

1231 -

if singular_series:

1232 -

values[0].name = keys[0]

1233 - 1234 -

# GH2893

1235 -

# we have series in the values array, we want to

1236 -

# produce a series:

1237 -

# if any of the sub-series are not indexed the same

1238 -

# OR we don't have a multi-index and we have only a

1239 -

# single values

1240 -

return self._concat_objects(

1241 -

keys, values, not_indexed_same=not_indexed_same

1242 -

)

1243 - 1244 -

# still a series

1245 -

# path added as of GH 5545

1246 -

elif all_indexed_same:

1247 -

from pandas.core.reshape.concat import concat

1248 - 1249 -

return concat(values)

1250 - 1251 -

if not all_indexed_same:

1252 -

# GH 8467

1253 -

return self._concat_objects(keys, values, not_indexed_same=True)

1254 - 1255 -

# Combine values

1256 -

# vstack+constructor is faster than concat and handles MI-columns

1257 -

stacked_values = np.vstack([np.asarray(v) for v in values])

1258 - 1259 -

if self.axis == 0:

1260 -

index = key_index

1261 -

columns = v.index.copy()

1262 -

if columns.name is None:

1263 -

# GH6124 - propagate name of Series when it's consistent

1264 -

names = {v.name for v in values}

1265 -

if len(names) == 1:

1266 -

columns.name = list(names)[0]

1267 -

else:

1268 -

index = v.index

1269 -

columns = key_index

1270 -

stacked_values = stacked_values.T

1271 - 1272 -

result = self.obj._constructor(

1273 -

stacked_values, index=index, columns=columns

1274 -

)

1263 +

index = v.index

1264 +

columns = key_index

1265 +

stacked_values = stacked_values.T

1275 1266 1276 -

elif not self.as_index:

1277 -

# We add grouping column below, so create a frame here

1278 -

result = DataFrame(

1279 -

values, index=key_index, columns=[self._selection]

1280 -

)

1281 -

else:

1282 -

# GH#1738: values is list of arrays of unequal lengths

1283 -

# fall through to the outer else clause

1284 -

# TODO: sure this is right? we used to do this

1285 -

# after raising AttributeError above

1286 -

return self.obj._constructor_sliced(

1287 -

values, index=key_index, name=self._selection_name

1288 -

)

1267 +

result = self.obj._constructor(stacked_values, index=index, columns=columns)

1289 1268 1290 -

# if we have date/time like in the original, then coerce dates

1291 -

# as we are stacking can easily have object dtypes here

1292 -

so = self._selected_obj

1293 -

if so.ndim == 2 and so.dtypes.apply(needs_i8_conversion).any():

1294 -

result = _recast_datetimelike_result(result)

1295 -

else:

1296 -

result = result._convert(datetime=True)

1269 +

elif not self.as_index:

1270 +

# We add grouping column below, so create a frame here

1271 +

result = DataFrame(values, index=key_index, columns=[self._selection])

1272 +

else:

1273 +

# GH#1738: values is list of arrays of unequal lengths

1274 +

# fall through to the outer else clause

1275 +

# TODO: sure this is right? we used to do this

1276 +

# after raising AttributeError above

1277 +

return self.obj._constructor_sliced(

1278 +

values, index=key_index, name=self._selection_name

1279 +

)

1280 + 1281 +

# if we have date/time like in the original, then coerce dates

1282 +

# as we are stacking can easily have object dtypes here

1283 +

so = self._selected_obj

1284 +

if so.ndim == 2 and so.dtypes.apply(needs_i8_conversion).any():

1285 +

result = _recast_datetimelike_result(result)

1286 +

else:

1287 +

result = result._convert(datetime=True)

1297 1288 1298 -

if not self.as_index:

1299 -

self._insert_inaxis_grouper_inplace(result)

1289 +

if not self.as_index:

1290 +

self._insert_inaxis_grouper_inplace(result)

1300 1291 1301 -

return self._reindex_output(result)

1292 +

return self._reindex_output(result)

1302 1293 1303 1294

def _transform_general(

1304 1295

self, func, *args, engine="cython", engine_kwargs=None, **kwargs


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4