James Stamp

James Stamp

Location Liverpool UK

Achievements

Activity

  • Very important advice

  • Thanks @ClintD .

  • I think the Ebook Work Turtles link above is not completely correct as it is trying to open the course py4e-int instead of fl-py4e

    The correct link is
    https://runestone.academy/runestone/books/published/fl-py4e/turtles/names4turtles.html

  • I hope to gain more understanding of the services available in AWS. The options available can be quite overwhelming without some guidance

  • James Stamp made a comment

    The importance of getting the presentation of the data analysis correct in order to get the message across to the target audience. Seaborn will be really helpful in achieving this.

    I would like to learn a lot more about the abilities of Matplotlib and Seaborn

  • import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt

    filename = 'penguins.csv'
    data_frame = pd.read_csv(filename)
    sns.set(rc={'figure.figsize': (6, 6)})
    sns.set_style('whitegrid')
    sns.set_context('paper')

    ax = sns.scatterplot(
    data=data_frame,
    x='bill_length_mm',
    y='flipper_length_mm',
    hue='species',
    ...

  • import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt

    filename = 'climate.csv'
    df = pd.read_csv(filename)
    sns.scatterplot(data=df, x='City', y='Temperature')

    Correlation between City and Temperature is low

  • A very interesting article. Data storytelling has often felt like an after-thought in other data analysis courses I have took part in.

  • James Stamp made a comment

    Still getting to grips with what is possible with Pandas. I'd like to learn a lot more about the library as it appears to be a very useful and powerful analysis tool.

  • import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame

    filename = '.\dataset/Brazilian-states-and-capitals.csv'
    df_flow = pd.read_csv(filename)
    ds1 = df_flow.stack()
    print(ds1.head())
    print(ds1.tail())
    ds2 = ds1.unstack()
    print(ds2.head())
    print(ds2.tail())

    1 States Acre
    Capitals Rio Branco
    2 States ...

  • import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame
    df1 = pd.read_csv(".\dataset/climate.csv")
    df2 = pd.read_csv(".\dataset/Week+2.csv")
    df3 = pd.read_csv(".\dataset/Week+3.csv")
    result = pd.concat([df1, df2, df3])
    print(result)

    City Temperature Weather Year State Month Number of Fires Date Reported
    0 Rome ...

  • import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame

    filename = ".\dataset/Brazilian-fire-dataset.csv"
    df_fire = pd.read_csv(filename)
    print(df_fire)

    Year State Month Number of Fires Date Reported
    0 1998 Acre January 0.0 1/01/1998
    1 1999 Acre January ...

  • James Stamp made a comment

    The Pandas library is really powerful. A lot of data manipulation can be achieved with only a few lines of code.

    I'd like to learn more about other functions available in the Pandas library.

  • States Capitals
    0 Acre Rio Branco
    1 Alagoas Maceió
    2 Amapá Macapá
    3 Amazonas Manaus
    4 Bahia Salvador
    5 Ceará Fortaleza
    6 Distrito Federal Brasília
    7 Espírito Santo Vitória
    8 Goiás Goiânia
    9 Maranhão São...

  • import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame

    data = {
    'States': ['Acre', 'Alagoas', 'Amapá', 'Amazonas', 'Bahia', 'Ceará', 'Distrito Federal', 'Espírito Santo', 'Goiás', 'Maranhão'],
    'Capitals': ['Rio Branco', 'Maceió', 'Macapá', 'Manaus', 'Salvador', 'Fortaleza', 'Brasília', 'Vitória', 'Goiânia', 'São Luís'],
    ...

  • import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame

    data = {
    'states': ['Acre', 'Alagoas', 'Amapá', 'Amazonas', 'Bahia', 'Ceará', 'Distrito Federal', 'Espírito Santo', 'Goiás', 'Maranhão', 'Mato Grosso',
    'Mato Grosso do Sul', 'Minas Gerais', 'Pará', 'Paraíba', 'Paraná', 'Pernambuco', 'Piauí', 'Rio de Janeiro',...

  • CODE:
    import pandas as pd
    import numpy as np
    from pandas import Series, DataFrame

    myDictionary = {'R': 'Red', 'P': 'Purple', 'G': 'Green', 'Y': 'Yellow', 'W': 'White', 'B': 'Black'}
    mySeries = Series(myDictionary)
    mySeries.name = 'House'

    print(mySeries)
    print(mySeries.values)
    print(mySeries.index)

    OUTPUT:
    R Red
    P Purple
    G ...

  • CODE
    sales = 150, 180, 200, 90, 135, 98, 'Yet to receive'
    print(sales)
    OUTPUT
    (150, 180, 200, 90, 135, 98, 'Yet to receive')

    CODE
    sales_list = list(sales)
    sales_list.append(100)
    print(sales_list)

    OUTPUT
    [150, 180, 200, 90, 135, 98, 'Yet to receive', 100]

  • Code:
    firstName = 'Lauren'
    middleName = 'Hurrier'
    lastName = 'Manual'
    print(firstName + ' ' + middleName + ' ' + lastName)

    Output:
    Lauren Hurrier Manual

  • fruit = ('apple', 'banana', 'grape')
    print(fruit)
    ('apple', 'banana', 'grape')

    False = "True"
    async = 1
    import = 10.5
    File "<ipython-input-7-f3ed83b179f6>", line 2
    async = 1
    ^
    SyntaxError: invalid syntax

    _False = "True"
    _async = 1
    _import = 10.5
    print(_False, _async, _import)
    True 1 10.5

  • My first choice would be Python for data mining and manipulation as it is quick to pick up and there are a number of good libraries that can be accessed. Would also SQL if any interactions with DBs are required.

  • I have some computing projects that use twitter data and data from some APIs. Hoping to get a better understanding of Pandas to improve the analysis and presentation of the findings

  • Hi @MacBowley(he/him), sorry about that. There was an extra character at the end of the link. Correct link is < https://pastebin.com/XYPK6SAx >

  • Eventually got it working.

    Code here for server and client files here <https://pastebin.com/XYPK6SAx>

  • Great, it worked. It is amazing how much can be achieved with only a few lines of code

  • Hi @RobBoult. Did you find a solution to this? I'm experiencing the exact same issue.

  • A very fascinating video. Really good to see.

  • A very interesting week. The presentation of the material is excellent.

  • Really good video. It's amazing how much you can do with only a few lines of code.

  • I found the computerphile video is very informative. Well worth watching

  • This is really great content. Easy to understand and follow.

  • A great introduction. Very clear and succinct

  • James Stamp made a comment

    Digital Marketing is more targetable and dynamic in it's delivery methods (eg to change the recipients for a mailshot in traditional marketing would require readdressing multiple envelopes, whereas the same mailshot with emails may only take a couple of minutes to change the recipient group)

    The delivery methods are completely different. Traditional...

  • A really enjoyable. The mix and of presentations and exercises was the right level. In addition, I found the concepts / ideas were presented clearly.

    The one thing I struggled with was debugging with the Mu environment. Sometimes, it took me a bit of time to find out what a particular errors were due to not knowing my way around the IDE.

    Thanks to...

  • One additional value that could be recorded after each round is the value chosen leading to the a win or defeat.

  • Code with a statistics of win rates for each card

    https://pastebin.com/0Va4S9GD

    This version is completely automated and will produced up to 25000 card comparisons. Uncommenting the line #stat = chooseStat() within the mainLoop function will allow a person to play.

    There is also a line clearTable(conn,'result') in the main program body that, if...

  • Game code here
    - requests number of rounds and names of players
    - one player game against the computer

    https://pastebin.com/RK4RhD23

  • James Stamp made a comment

    Code to pick random card and, if different from previous card, will add to picked table.

    Code clears the picked table from entries at start of program. Program continually asks to pick another card until the user enters something other than D or Y. Entering D will display the current records from the picked table

    https://pastebin.com/uJD9BHkb

  • James Stamp made a comment

    A little application with all CRUD operations

    https://pastebin.com/i4LQUKXR

  • James Stamp made a comment

    A really great week. There was a lot of new things introduced, enough to go away and practice with.

  • Updated RPG code to check health is between 0 and 5. Anything lower than 0 or higher than 5 is highlighted as cheating

    https://pastebin.com/y17TXDxi

  • Hi @SteveSeabrook, to suppress the display of <class 'str'> <class 'float'>, remove or comment out the final print line.

    https://pastebin.com/tj3GxEpM

  • RPG code with load and save functionality. Updated the showStatus code to display the possible directions from the current position

    https://pastebin.com/f3RsB64b

  • Code to read from and write to CSV file. Had an issue with the write method creating an additional blank line after each row entry. Found a post on StackOverflow forum with one potential solution to this

    https://pastebin.com/v4NCZ7TZ

  • Hi @SteveSeabrook, the <class 'str'> <class 'float'> output is due to the line print(type(row[0]), type(row[1])) in your second with block.

  • Math Quiz with plot added.

    I need to play around with the bar chart settings and properties though as the bars are being displayed in a strange way (the higher scores are being displayed with smaller bars)

    https://pastebin.com/dG9ne5wr

  • Maths quiz with randomly generated questions. Took a bit of testing and googling to get the right python commands I wanted, but got there in the end.

    https://pastebin.com/jzG85uX3

  • Here's my attempt with randomly generated questions

    https://pastebin.com/f17Jg4pM

  • Hi @BrunoPaucar, there appears to be two places the seed parameter is referenced for the J48 classifier. The seed parameter accessible from the Classifier panel keeps reverting to 1 (I have no idea why?). The second place is the Random Seed option accessible via the More Options button in the Test Options panel

  • Weka is very easy to use once you have an idea where the options are. Exercises are enjoyable. Probably could do with a glossary covering the main terminology.

  • After several scores between 70% and 85%, I eventually managed 91.3% after using polygons instead of just rectangles.

  • Hi @LuizJacob. I was stuck on this as well and only found out after a bit of trial and error. To close the polygon, after you have completed your shape, right-clicking inside of the shape will turn it dark grey.

  • James Stamp made a comment

    I may need a bit more practice with this. Managed 81.4% with user classifier and the J48 classifier is returning 96.2%

  • Installed without any issue.

  • Hi @IanBarnes, thanks for posting the link about Hashing. A very understandable explanation.

  • Hi All, I'm James. I've heard a lot about Blockchain and Bitcoin, but know very little about how it works. So I'm hoping to start learning about it with this course.

  • A good introduction to cyber security. It has made me aware of several risks and security stratgies existing in my current employment.

  • I believe one of the reasons many businesses do not provide adequate cyber security training for their staff is because the decision makers within businesses underestimate the potential damage of cyber attacks.
    In the short term, hiring cyber security specialists or running regular cyber security training can be seen as being a lot more expensive than any...

  • A really good exercise. Some of the fake emails were difficult to spot.

  • Thanks for sharing the link, it is very useful.

  • James Stamp made a comment

    This course has been presented really well and the content was great. I am definitely going to use the information and skills I've learnt.
    Many thanks to everyone involved in delivering an interesting and enjoyable course.

  • Samantha mentioned about the importance of keeping designs simple. This echoed the KISS principle from the 1960s. KISS (Keep it Simple Stupid), which stated that systems work best if they are kept simple rather than having unnecessary complications.
    So it's interesting to know, even though technology changes rapidly, some design principles behind the tech...

  • If I were going to conduct research for my app, I would want to know if there were any things that needed changing to make the app easier to use and if there were any additional features users would like to see.

  • That was an interesting and informative video. Good news that the size of the test group only needs to consist of 5 people, I had thought it would need to be a more.

  • The Marvel App was great. It was easy to use and setting up a prototype was possible in a very short space of time.
    A very useful tool for starting to bring the app to life and help in improving the design of the app.

  • Completing these screens is a great help in working out what the main functionality of the app will be and also what other functionality can expand the app.

  • 3 critical steps and 2 optional steps.

  • If there are parts of a page I need to replicate on several pages, then I would consider having them as a template.

  • Ended up with a the same looking webpage, but my CSS was different for 7 and 8

  • Breaking the exercise down into smaller tasks makes creating the webpage easier to do.
    It also helps seeing the updates appear after the tags have been entered.

  • Very interesting video with some great advice.

  • Standardisation is a good thing both for the users and the manufacturers of the phones.
    For users, it makes switching to a new phone an easier process as users will already be comfortable with phone layouts and designs.
    It is also good for manufacturers as, if users are already comfortable with the features and designs of their phones then, when someone...

  • With the amount of communication required to display the web pages we see, it is surprising it happens so quickly.

  • Computers are everywhere and impact every part of our lives. I think this has mostly been a positive thing, with the ability to communicate and get information instantly no matter where we are. However, this does cause the issue of being able to completely disconnect from the potential information overload.

  • I agree. Being able to code is a highly transferable and valuable skill to have.

  • The comparison is a fair one. The comparison demonstrates that programs and algorithms may be more complex than you initially thought. Required changes and additional complexities may only come to light after several iterations and testing of the program / algorithm.

  • For me, the web has had the biggest impact.
    Tim Berners-Lee. In my opinion, his invention is amongst the most important inventions of all time.

  • Development of high level programming languages in the 50s surprised me too. I thought this occurred in the 70s.

  • Use the Begin Programming 2020 Zip link from the Downloads section above

  • Really enjoyed this course, so much so, this is my second attempt at completing it. Understood a lot more this time around (thanks to excellent teaching material and a great deal of persistence). Still not completely comfortable with Monads or the Parser information from Week 4, but I'm going to continue studying these elements.
    Thanks to all involved for...

  • I'm working through the book too. Finding it to be very informative and would recommend it to anyone doing this course.

  • I've no immediate projects for Haskell. However, I'm continuing my study of the language with copies of Programming in Haskell by Graham Hutton and Learn You a Haskell for Great Good by Miran Lipovaca. I'm finding both books great.

    Since starting this course, I've noticed two Haskell elements starting to creep into my usual programming (in Java and VB). My...

  • -Helping to keep projects focused on the outcome and avoid design creep. Too often we have created functionality that, although works fine, is not a great deal of use to many users.

    The other main takeaway is going to be the idea of Storyboarding of Epic Stories and using these to identify the path of the users through the story. The comment in Section 4.8...

  • James Stamp made a comment

    I came into the course with no knowledge of what AGILE was. The AGILE term has been appearing more and more in the job specs and CVs I have been seeing recently, so thought it was wise to learn what it was and what it entailed.

    In addition to now being aware of the terminology and methodology of AGILE, I was also pleased to learn that some of the processes...

  • Just done the same thing. Now have some interesting multicoloured faces.

  • James Stamp made a comment

    A very enjoyable and informative week one. Looking forward to week two. In the meantime, I'm going to experiment with some more flexagons and replace my fidget spinner with these wonderful paper creations.

  • @YossiElran thanks for that. Makes sense now.

  • @PhilGamlen your not alone with this one. I can't work out how a 6 6 Flexagon has 18 rather than 36 leaves.

  • Regarding flexagons that change shape when flexed, do their names also change when flexed to fit into the nomenclature mentioned in 1.5 or is there another naming convention for these shapechanging entities?

  • @WilliamDevitt Thanks for the info about different paper weights. This will come in useful when creating more complex flexagons.

  • Another wonderful creation, though not as rewarding as the cyclic tri-hexaflexagon. This flexagon reminds me of a toy I had many years ago called a Jacob's Ladder.

  • Who would have thought two strips of coloured paper could produce something so wonderful.

  • As several people have already mentioned below, i think using greek and arabic is more fitting as the language of maths.
    Replacing the greek prefixes with numbers removes some of the puzzling charm from the names.

  • I love recreational maths and grew up reading books by Ian Stewart and David Gardner. I like to dip into the subject every now and then to give my Grey Matter a bit of a workout, so this course is a great opportunity. Haven't come across the terms Flexagon or Metagrobologist before now.

  • Fortune Tellers, I remember making them at school many years ago. Never knew they were Flexagons.

  • Some very interesting techniques introduced here. It may take a bit of practice in writing these personas before some really useful information is created at this stage. However, I can certainly see how these would be helpful in creating some worthwhile products / functionality.
    Are there any techniques or ways to approach users in regards to getting them to...

  • Very informative and useful video of what to do and not do when creating Personas.

  • The concepts being introduced are interesting and seem like good techniques to adopt in order to have successful projects. Teamwork and collaboration make sense are really important to get the best out of your workforce . The biggest challenge I see is persuading management of a company to change from a non-agile methodology to an agile one.

  • Informative video and looking forward to learning more. Even at this early stage of the course, I can recognise how some things we do in my current company incorporate agile techniques naturally.