Column Selection
| 2246 | |
| 2247 | |
| 2248 | class Index(Elemwise): |
| 2249 | """Column Selection""" |
| 2250 | |
| 2251 | _parameters = ["frame"] |
| 2252 | operation = getattr |
| 2253 | |
| 2254 | @functools.cached_property |
| 2255 | def _meta(self): |
| 2256 | meta = self.frame._meta |
| 2257 | # Handle scalar results |
| 2258 | if is_series_like(meta) or is_dataframe_like(meta): |
| 2259 | return self.frame._meta.index |
| 2260 | return meta |
| 2261 | |
| 2262 | @property |
| 2263 | def _projection_columns(self): |
| 2264 | return [] |
| 2265 | |
| 2266 | def _task(self, name: Key, index: int) -> Task: |
| 2267 | return Task( |
| 2268 | name, |
| 2269 | getattr, |
| 2270 | TaskRef((self.frame._name, index)), |
| 2271 | "index", |
| 2272 | ) |
| 2273 | |
| 2274 | @functools.cached_property |
| 2275 | def unique_partition_mapping_columns_from_shuffle(self): |
| 2276 | name = self.frame._meta.index.name |
| 2277 | if name in self.frame.unique_partition_mapping_columns_from_shuffle: |
| 2278 | return {name} |
| 2279 | elif (name,) in self.frame.unique_partition_mapping_columns_from_shuffle: |
| 2280 | return {(name,)} |
| 2281 | else: |
| 2282 | return set() |
| 2283 | |
| 2284 | |
| 2285 | def _return_input(df, divisions=None): |
no outgoing calls
no test coverage detected
searching dependent graphs…