In person • Online, at https://LernerPython.com • Books (Python Workout + Pandas Workout) • Newsletters • Including Bamboo Weekly — improve your Pandas with puzzles based on current events I teach Python and Pandas! 2
It’s so tempting! You have so much to share! • People can’t handle information at light speed • Focused, short talk >> unfocused, long talk • >> unfocused, short talk • “I’m low on time… I’ll just talk faster!” Don’t: Cover too much 7
No one complains that a talk ends early • No one likes rushing through 10 f inal slides • It means you didn’t focus or practice enough Don’t: Run out of time 8
I use Jupyter, every day in my teaching • But not when I give presentations. • I type fast, but not fast enough • I want to concentrate on what I’m teaching • Did I mention that public speaking is hard? • Some people can pull it off! Use slides. (Usually) 10
It’s very tempting • To write about a lot of things • And so you need to put a lot of text on the screen • But that means that the text will be very small • And then no one will be able to read it • This is super annoying for people in the audience • Who will use their limited concentration to squint and try • To read what you have written, rather than listen to • What you are trying to say, which is super annoying for • Everyone involved, and a shame when your message • Will get lost in the tons of text • And no one will really be able to read what you’ve written down • Unless they’re sitting in the front row. I’ve seen this at numerous • Conferences over the years, and as much as people talk about it, • People never seem to understand how • Incredibly annoying it is to be in the audience • And read really small text • Because when you do that, it shows that you didn’t want to make any choices • If you can read this, then you really should f ind something better to do with your time. • I mean, this teeny weeny text is just ridiculous, no? Make the text large 11
%timeit df_np['Vehicle Color'].str.contains('[BZ]', regex=True, case=False).value_counts().head(5) 4.7 s ± 50.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) %timeit df_pa['Vehicle Color'].str.contains('[BZ]', regex=True, case=False).value_counts().head(5) 731 ms ± 2.44 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) • PyArrow is about 6x faster Searching in strings with regex=True 15
Dark text on a light background • Bad: White on black • Worse: Purple on black • Worse yet: Purple and black and gray on black • The worst: Purple and black and gray on black… • In a tiny font Don’t: Use dark mode with code 18
That’s what people want! • Don’t just regurgitate the Python docs • Use interesting examples • Don’t rehash the ones from your university studies Do: Solve a common, painful problem 23