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