If you want to avoid using `.iloc` entirely and work directly with the Series' data, you can convert the Series to a list or use other native approaches. Here’s how you can handle negative indexing without `.iloc`:
### Alternative Approach Using `.tolist()`
Convert the Series to a list and use negative indexing:
import pandas as pd
def get_element(series, index):
if index < 0:
# Convert negative index to positive by adding the length of the list
index = len(series) + index
# Convert Series to list and access element
return series.tolist()[index]
# Example usage
my_series = pd.Series([10, 20, 30, 40])
print(get_element(my_series, -1)) # Output: 40
print(get_element(my_series, 2)) # Output: 30
### Explanation:
- **Convert the Series to a list** using `.tolist()`.
- **Handle negative indexing** by adjusting the index and then accessing the element from the list.
This method bypasses `.iloc` and directly accesses elements using list indexing.