Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    P

    Practical Business Python

    pbpython.com · Personal blog · on HN since 2014

    Chris Moffitt writes Python tutorials for business users, covering pandas, Excel, visualization and report generation.

    Visit blogHN submissions
    ProgrammingData & Visualization
    What HN says

    HN commenters praise the material as clear and approachable, use it for teaching Python, and cite its PDF report and pandas HTML table guides.

    Stats for nerds
    33HN people shared it
    58linked in comments
    784story points
    May 2023last shared
    2015people per year2023

    Top posts on HN

    1. 1
      Effectively Using Matplotlib
      5 people · 524 points · first shared 2017 · 76 comments on HN
    2. 2
      Pandas Pivot Table Explained
      4 people · 164 points · first shared 2014 · 11 comments on HN
    3. 3
      Reading Poorly Structured Excel Files with Pandas – Practical Business Python
      2 people · 8 points · first shared 2020 · Discussion on HN
    4. 4
      Exploring an Alternative to Notebooks for Python Development
      3 people · 7 points · first shared 2020 · Discussion on HN
    5. 5
      Forecasting Website Traffic Using Facebook’s Prophet Library – PBPython
      2 people · 6 points · first shared 2017 · Discussion on HN
    6. 6
      Evangelizing Python for Business – Practical Business Python
      2 people · 5 points · first shared 2019 · Discussion on HN
    7. 7
      Practical Business Python
      2 people · 5 points · first shared 2016 · Discussion on HN
    8. 8
      Creating PDF Reports with Pandas,Jinja,WeasyPrint
      3 people · 4 points · first shared 2015 · 1 comments on HN
    9. 9
      Comprehensive Guide to Grouping and Aggregating with Pandas (2020)
      2 people · 4 points · first shared 2020 · Discussion on HN
    10. 10
      Interactive Data Analysis with Python and Excel – Practical Business Python
      2 people · 4 points · first shared 2016 · Discussion on HN

    What HN people wrote when they linked it

    • ChrisRackauckasMay 2023

      Indeed DataFrames.jl isn't and won't be the fastest way to do many things. It makes a lot of trade offs in performance for flexibility. The columns of the dataframe can be any indexable array, so while most examples use 64-bit floating point numbers, strings, and categorical arrays, the nice thing about DataFrames.jl is that using arbitrary precision floats, pointers to binaries, etc. are all fine inside of a DataFrame without any modification. This is compared to things like the Pandas allowed datatypes (https://pbpython.com/pandas_dtypes.html). I'm quite impressed by the DataFrames.jl developers given how they've kept it dynamic yet seem to have achieved pretty good performance. Most of it is smart use of function barriers to avoid the dynamism in the core algorithms. But from that knowledge it's very clear that systems should be able to exist that outperform it even with the same algorithms, in some cases just by tens of nanoseconds but in theory that bump is always there.

      In the Julia world the one which optimizes to be fully non-dynamic is TypedTables (https://github.com/JuliaData/TypedTables.jl) where all column types are known at compile time, removing the dynamic dispatch overhead. But in Julia the minor performance gain of using TypedTables vs the major flexibility loss is the reason why you pretty much never hear about it. Probably not even worth mentioning but it's a fun tidbit.

      > For what it's worth, data.table is my favourite to use and I believe it has the…

    • pjmlpJan 2019

      So I talk about COM, and you move the goal posts about DirectX in particular, that only implements a subset of COM, which requires writing wrappers by hand, including in .NET, hence Managed DirectX, XNA and SharpDX projects.

      Apparently you missed the news regarding PWAs in Windows and its support for native UWP. Again, WinJS got dropped, because it was tied to the Windows 8 programming model, which got improved on Windows 8.1, only to be replaced by UWP on Windows 10.

      Win32 GDI actually has "we wish you were all using Win2D and DirectDraw" support on Windows 10.

      Here are some examples of automating Excel with Python, http://pbpython.com/windows-com.html, hardly any different from using VBA.

    • Notre1Apr 2016

      You can easily export any pandas DataFrame to html using the to_html() method. To generate full webpage, you'll probably want a templating engine like Jinja2.

      The best demo I've seen for generating a PDF report is on Practical Business Python[1]

      Edit: I forgot to mention the new pandas Style[1] feature for generating some impressive looking html tables.

      [1] http://pbpython.com/pdf-reports.html

      [2] http://pandas.pydata.org/pandas-docs/stable/style.html

    • staredJul 2015

      This guys has a lot of nice material, presented in a clear and approachable way (this week I was teaching Python and I was linking him a lot).

      For example:

      http://pbpython.com/visualization-tools-1.html

      http://pbpython.com/web-scraping-mn-budget.html

    • mkesperFeb 2015

      I also found the two previous articles quite interesting:
      http://pbpython.com/pandas-pivot-table-explained.html
      http://pbpython.com/pandas-pivot-report.html

    • pen2lJun 2022

      Woah, didn't know about this, thanks for bringing it to my attention!

      Found this article shows its use:

      https://pbpython.com/pandas-html-table.html

    Related

    xlwings Blogxlwings.org20 people

    My thoughts on Python in Excel

    xlwings Blog
    Company · last shared 2024
    Cal Patersoncalpaterson.com102 people

    Firefox usage is down despite Mozilla's top exec pay going up

    Cal Paterson
    Personal · last shared 2026
    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Simon Willison's TILstil.simonwillison.net111 people

    One-liner for running queries against CSV files with SQLite

    Simon Willison's TILs
    Personal · last shared 2026
    PyPy Blogpypy.org183 people

    PyPy has moved to Git, GitHub

    PyPy Blog
    Company · last shared 2026
    Yhat Blogblog.yhat.com28 people

    R for Excel Users

    Yhat Blog
    Company · last shared 2017
    Dev Geniusmedium.com/dev-genius36 people

    A principled approach to GraphQL query cost analysis

    Dev Genius
    Publication · last shared 2026
    marimo Blogmarimo.io37 people

    Notebooks as reusable Python programs

    marimo Blog
    Company · last shared 2026