The availability of Python integration within Excel has made Python an accessible and valuable skill for many Excel users to consider adding to their toolkit.
However, as an open-source programming language, Python operates differently from proprietary spreadsheet software like Excel.
This post examines a significant distinction—the use of packages in Python. We will discuss how these packages function, their management in Python-enabled Excel environments, and their essential role in the vast majority of data analysis tasks carried out with Python.
What are packages?
At its core, a Python package is a collection of Python files and code that, when combined, extend the capabilities of Python programs. In this way, they function similarly to Excel add-ins.
However, unlike VBA add-ins, which are typically used sporadically and independently of one another, the utilization of packages is fundamental to programming in Python. Almost every Python script you wil come across begins with commands to import one or more packages, and this holds true for data analysis in Python as well.
Python packages for data analysis
When guiding Excel users through learning Python, it’s important to emphasize that Python was not originally designed with a primary focus on data analysis. What seems straightforward in Excel, such as multiplying a range by two, can yield surprising results in Python, as illustrated in this blog post:
Certainly, the fact that Python was not inherently set up for data analysis does not deter its use for such purposes. On the contrary, the robustness of Python’s data analysis capabilities has grown significantly due to the availability of specialized packages.
To effectively use Python for data analysis, it’s essential to incorporate a variety of these packages into your code.
This necessity is where the initialization script for Python in Excel proves invaluable. It sets the stage for Excel users to harness Python’s power by managing package importation and setting up the environment for data manipulation and analysis tasks.
Python in Excel is configured with a specific setup that prepares Python to carry out various tasks within your workbook. This configuration includes setting up essential packages. Some parts of this code ensure that Python and Excel operate together seamlessly behind the scenes, while most of the setup involves making useful packages accessible for data analysis and visualization in Python on the user interface.
Let’s explore the location of the initialization script in Excel and examine its contents.
Viewing the initialization script
To view the initialization script for Python in Excel, navigate to the ‘Formulas’ tab on the ribbon and then click on ‘Initialization’. An ‘Initialization’ sidebar should appear on the right side of your worksheet, as follows:
To make this set of imports a little more interpretable, I’ve moved some things around and added comments into the below script:
Much of the code here pertains to backend integration between Python and Excel, which I wouldn’t recommend for beginners to focus on initially. However, there are five Python packages that are particularly useful for users looking to maximize Python for data analysis:
- numpy & pandas for data manipulation and analysis
- matplotlib.pyplot & seaborn for data visualization
- statsmodels for statistical analysis
For a basic overview of using all of these packages, check out my book, Advancing into Analytics:
What other packages are available?
While there are many more thousands of packages available for Python, only a handful more are currently supported in the Excel environment. You can get a full list of them here.
To include any of these additional packages in your workbook or to otherwise make any additions to the intialization, Excel at this time suggests the following:
Tip: The initialization settings are currently read-only. You can work around this by creating a separate sheet that is the first sheet in your workbook and entering desired import statements and settings on this worksheet. We calculate Python formulas in row-major order and then worksheet order, so code on the first worksheet is the first to run.
To conclude, Python packages add a new dimension to Excel for data analysis, functioning like supercharged add-ins. This post walked you through the key elements of integrating Python packages with Excel, focusing on tasks such as data manipulation, visualization, and statistical analysis.
Do you have any questions about Python packages, whether in general or specifically related to their use with Excel? Feel free to share your queries in the comments section below.
Leave a Reply