First off congrats @jasperquak on completing your work. It takes some serious focus to do the same, and you’ve done it. (click on the triangle bullet points for the detail)
I see that you have an introduction, conclusion and multiple titles that explain the relative sections. I would usually name those sections as Introduction and Conclusion. Keeps it formal.
I see that you have taken effort to define what each function does. When I started, I used to do the same. However, over time I learnt that there were standards to documentation. I recommend you check this for the same.
I have provided an example below of a function that I defined in an earlier project.
Convert column name from camel to snake case
a_column_name(str): Column name to be converted from camel to snake case
a_column_name(str): Column name in snake case
pos = 0
for letter in a_column_name:
if letter.isupper() == True:
pos = a_column_name.index(letter)
string1 = a_column_name[:pos]
string2 = a_column_name[pos:]
a_column_name = string1+"_"+string2
It is good to put this in to practise now. It will pay off soon.
I could not find any issues with this regard.
Nothing on this part.
I think you have done a great job and I hope to see this project after you’ve attempted the extra questions.
Regarding Coding Style. Thank you for the link and example. Good to stick to style guides indeed, and e.g. include the description of what a function does in the function itself rather than typing it above the function. (Although I would argue that that is more applicable for a live (and modular) application, and possibly less for a ‘notebook’ which you read from top to bottom.)
Regarding ‘Presentation Style’. Yes, in general I agree, applying it to most projects. (For this notebook I deliberately did not name the final section ‘Conclusion’ actually since I am not really ‘concluding’ anything based on observations or something.)
(Not meaning to say I disagree, just sharing why I did as I did.)
Regarding this point, there is another use case where this kind of documentation could be helpful; when you are developing a lengthy notebook, and you want to recall a function that you have written many cells ago. Using <function name>.__doc__ helps to recollect the parameters and default values of the function as below.