Here is a possible implementation for the `sets_from_minifig` function:
```python
import pandas as pd
def sets_from_minifig(minifig_num):
# Assuming we have a dataframe called 'minifigs' with columns ['set_num', 'version', 'fig_num', 'fig_name']
# and another dataframe called 'sets' with columns ['set_num', 'version', 'name_sets']
# Filter the minifigs dataframe to get the rows where fig_num matches the input minifig_num
filtered_minifigs = minifigs[minifigs['fig_num'] == minifig_num]
# Join the filtered_minifigs dataframe with the sets dataframe based on set_num and version columns
result = pd.merge(filtered_minifigs, sets, on=['set_num', 'version'])
# Sort the result dataframe by set_num and then by version
result = result.sort_values(by=['set_num', 'version'])
# Reindex the dataframe so the index goes from 0 to n-1
result = result.reset_index(drop=True)
return result
```
Note that this implementation assumes you have two dataframes: `minifigs` and `sets`. `minifigs` should have columns `['set_num', 'version', 'fig_num', 'fig_name']`, while `sets` should have columns `['set_num', 'version', 'name_sets']`. You may need to adjust the code and replace these dataframe names with your actual dataframe names.
Q17:
Create a function called sets_from_minifig that takes as input a minifig number (as a string) and returns a list of sets a minifig has appeared in.
Return a DataFrame (sorted by set_num and then by version) with the following columns: set_num, version,name_sets, fig_num, fig_name.
The index should go from 0 to n-1.
1 answer