David Y.
—How can I change the order of columns in a Python Pandas DataFrame?
Pandas allows us to change the order of columns in a DataFrame by passing in a reordered list of column names:
import pandas data = { "Product": ["Apple", "Orange", "Pear"], "Selling Price": [2, 3, 4], "Cost Price": [1, 2, 3], } df = pandas.DataFrame(data) print(df) # output: # Product Selling Price Cost Price # 0 Apple 2 1 # 1 Orange 3 2 # 2 Pear 4 3 df = df[["Product", "Cost Price", "Selling Price"]] print(df) # output: # Product Cost Price Selling Price # 0 Apple 1 2 # 1 Orange 2 3 # 2 Pear 3 4
In some cases, we may want to reorder columns programmatically rather than manually. We can do this by casting df.columns.values
to a list and using standard list methods on it before passing it back to df[]
. For example, we could use the following code to programmatically perform the same reordering as above:
import pandas data = { "Product": ["Apple", "Orange", "Pear"], "Selling Price": [2, 3, 4], "Cost Price": [1, 2, 3], } df = pandas.DataFrame(data) print(df) # output: # Product Selling Price Cost Price # 0 Apple 2 1 # 1 Orange 3 2 # 2 Pear 4 3 column_names = list(df.columns.values) # will be ["Product", "Selling Price", "Cost Price"] column_names.insert(1, column_names[-1]) # insert last element of list at index 1 column_names.pop() # remove last element of list df = df[column_names] print(df) # output: # Product Cost Price Selling Price # 0 Apple 1 2 # 1 Orange 2 3 # 2 Pear 3 4
We could also use this technique to sort our columns alphabetically, using list.sort
.
import pandas data = { "Product": ["Apple", "Orange", "Pear"], "Selling Price": [2, 3, 4], "Cost Price": [1, 2, 3], } df = pandas.DataFrame(data) print(df) # output: # Product Selling Price Cost Price # 0 Apple 2 1 # 1 Orange 3 2 # 2 Pear 4 3 column_names = list(df.columns.values) # will be ["Product", "Selling Price", "Cost Price"] column_names.sort() # sort names alphabetically df = df[column_names] print(df) # output: # Cost Price Product Selling Price # 0 1 Apple 2 # 1 2 Orange 3 # 2 3 Pear 4
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.