You can add column names to the pandas Series at the time of creating or assign the name after creating. In this article, I will explain how to add a column name to a Series with several examples. The column names on the Series are used to identify what type of data each column holds.
Key Points –
- Unlike DataFrames, a Pandas Series does not inherently have column names, but it has an attribute called
name
. - The
name
attribute of a Series is used to assign a label, acting as the column name when the Series is part of a DataFrame. - You can specify a name for the Series directly during its creation by passing the
name
parameter. - You can modify the
name
attribute of an existing Series to change its column label. - When a Series is added as a column to a DataFrame, the Series’
name
becomes the column name in the DataFrame. - The
name
of a Series does not affect the index, which remains independent of the Series’ name.
1. Quick Examples of Add Column Name to Series
If you are in a hurry, below are some quick examples of how to add/assign column name to a Series.
# Quick examples of add column name to series
# Example 1: Add column name to Series
technologies = ["Spark", "Python", "Pandas"]
ser = pd.Series(technologies, name = 'Technology')
# Example 2: Add column name to series
ser_df = pd.DataFrame(ser, columns = ['Technology'])
# Example 3: Add column name to Series
ser_df = pd.DataFrame({'Technology': ser.values})
# Example 4: Add column name to Series
ser_df = pd.DataFrame(ser).reset_index()
ser_df.columns = ['Index', 'Technology']
2. Add Column Name to Pandas Series
By using name
param you can add a column name to Pandas Series at the time of creation using pandas.Series()
function. The row labels of the Series are called the index and the Series can have only one column. A List, NumPy Array, and Dict can be turned into a pandas Series.
Let’s create Pandas Series along with its column name.
# Import pandas library
# Create Pandas Series
import pandas as pd
technologies = ["Spark", "Python", "Pandas"]
ser = pd.Series(technologies, name = 'Technology')
print(ser)
Yields below output.
# Output:
0 Spark
1 Python
2 Pandas
Name: Technology, dtype: object
As you can see from the above, we got a column name of Series at the time of creation. The name
attribute is set to ‘Technology’. When you later convert this Series to a DataFrame, the name will be used as the column name in the DataFrame.
3. Add Column Names to Existing Series
Alternatively, you can add the column name to the existing Pandas using Series.name
attribute. By using the name
attribute, you’ve assigned the name Technology
to the Pandas Series. If you later convert this Series to a DataFrame, the name will be used as the column name in the DataFrame.
# Example 2: Set column name to existing Series
technologies = ["Spark", "Python", "Pandas"]
ser = pd.Series(technologies)
ser.name='Technology'
print(ser)
Yields the same output as above.
4. Add Column Name After Assigning Series to DataFrame
Series can be assigned to DataFrame and if your Series doesn’t have name then the DataFrame also doesn’t contain name. So let’s see how to fix this. Below example creates a DataFrame from the series.
# Add column name to Series
ser_df = pd.DataFrame(ser, columns = ['Technology'])
print(ser_df)
Yields below DataFrame as output.
# Output:
Technology
0 Spark
1 Python
2 Pandas
4. Add Column Name Using Dictionary
You can also add name using Python dictionary. You can either use the name from the Series using Series.name
or assign a custom name for key field in the dict.
In the below example, converted the Series into a DataFrame with the column name Technology
. This is a common approach when you want to work with tabular data and need to give a name to the single column.
# Add column name to Series
ser_df = pd.DataFrame({'Technology': ser.values})
print(ser_df)
# Output:
# Technology
# 0 Spark
# 1 Python
# 2 Pandas
5. Add Column Name to Series using reset_index
You can also have Series Index and values as two different columns on DataFrame, In order to get that use reset_index()
function. reset_index()
reset the index on the DataFrame.
# Add column name to Series
ser_df = pd.DataFrame(ser).reset_index()
ser_df.columns = ['Index', 'Technology']
print(ser_df)
Yields below output.
# Output:
Index Technology
0 0 Spark
1 1 Python
2 2 Pandas
Frequently Asked Questions on Add Column Name to Pandas Series
A Pandas Series is inherently one-dimensional and does not have column names like a DataFrame. However, if you want to associate a name with your Series for clarity, you can use the name
attribute.
Creating a Pandas Series is straightforward using the pd.Series()
constructor. You can pass a list, NumPy array, or a dictionary to create a Series.
A Series is a one-dimensional array, and it doesn’t have columns like a DataFrame. However, you can convert the Series to a DataFrame and then assign a column name during the conversion or rename an existing column.
You can convert a Pandas Series to a DataFrame using the pd.DataFrame()
constructor. For example, the pd.DataFrame()
constructor is used to create a DataFrame. The argument passed to the constructor is a dictionary where the key is the desired column name, and the value is the original Series. The resulting DataFrame will have a single column named ‘MyColumnName’ containing the values from the original Series.
A Pandas Series is inherently one-dimensional and cannot have multiple columns. If you need to work with multiple columns, you should use a Pandas DataFrame. A DataFrame is a two-dimensional labeled data structure with columns that can be of different data types. You can create a DataFrame from scratch or convert existing Series objects into DataFrame columns.
You can access the values in a Pandas Series using index-based or label-based indexing. In the label-based indexing example, the Series is given custom labels using the index
parameter. You can then use these labels to access the values in the Series.
Conclusion
In this article, you have learned how to add a column name to the pandas Series at the time of creation or after creation and also learned how to add column name to Pandas DataFrame which I have created from the Series.
Happy Learning!!
Related Articles
- How to Sort pandas Series
- Pandas Iterate Over Series
- Pandas Series.mean() Function
- Convert Pandas Series to DataFrame
- Pandas Get Total / Sum of Columns
- Drop Rows From Pandas DataFrame Examples
- Pandas Stack Two Series Vertically and Horizontally
- Find Intersection Between Two Series in Pandas
- Change the Order of Pandas DataFrame Columns
- Pandas groupby() and sum() With Examples
- Difference Between loc and iloc in Pandas DataFrame
- How to convert GroupBy output from Series to DataFrame?
- Drop Single & Multiple Columns From Pandas DataFrame