Column Selection
| 2230 | |
| 2231 | |
| 2232 | class Index(Elemwise): |
| 2233 | """Column Selection""" |
| 2234 | |
| 2235 | _parameters = ["frame"] |
| 2236 | operation = getattr |
| 2237 | |
| 2238 | @functools.cached_property |
| 2239 | def _meta(self): |
| 2240 | meta = self.frame._meta |
| 2241 | # Handle scalar results |
| 2242 | if is_series_like(meta) or is_dataframe_like(meta): |
| 2243 | return self.frame._meta.index |
| 2244 | return meta |
| 2245 | |
| 2246 | @property |
| 2247 | def _projection_columns(self): |
| 2248 | return [] |
| 2249 | |
| 2250 | def _task(self, name: Key, index: int) -> Task: |
| 2251 | return Task( |
| 2252 | name, |
| 2253 | getattr, |
| 2254 | TaskRef((self.frame._name, index)), |
| 2255 | "index", |
| 2256 | ) |
| 2257 | |
| 2258 | @functools.cached_property |
| 2259 | def unique_partition_mapping_columns_from_shuffle(self): |
| 2260 | name = self.frame._meta.index.name |
| 2261 | if name in self.frame.unique_partition_mapping_columns_from_shuffle: |
| 2262 | return {name} |
| 2263 | elif (name,) in self.frame.unique_partition_mapping_columns_from_shuffle: |
| 2264 | return {(name,)} |
| 2265 | else: |
| 2266 | return set() |
| 2267 | |
| 2268 | |
| 2269 | def _return_input(df, divisions=None): |
no outgoing calls
no test coverage detected