This article is from 2023, and some product details in it may be out of date. Saturn Cloud now offers dedicated inference endpoints built with NVIDIA DSX, running on private GPU capacity we secure through our neocloud partners.
Introduction
Appending a list to a DataFrame is a common operation in data manipulation. However, it can be tricky when you want to add a new row with a specific index. This guide will help you understand how to do this efficiently using Pandas.
- Note:
appendmethod (deprecated as of v1. 4.0) has been completely removed as of pandas 2.0
Prerequisites
Before we start, make sure you have the following:
- Python 3.6 or later installed
- Pandas library installed
- Basic understanding of Python and Pandas
Step 1: Importing the Pandas Library
First, we need to import the Pandas library. If you haven’t installed it yet, you can do so using pip:
pip install pandas
Then, import the library in your Python script:
import pandas as pd
Step 2: Creating a DataFrame
Let’s create a simple DataFrame for demonstration:
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
Step 3: Appending a List as a a New Row
To append a list as a new row, we use the loc[] function. Here’s how:
list = [10, 11, 12]
df.loc[len(df)] = list
The new dataframe would look like this:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
3 12 13 14
Appending a List with a Specific Index
If you want to append a list at a specific index, you would use the iloc[] method. Here is how it works:
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
list2 = [13,14,15]
df.iloc[0] = list2
print(df)
The output would look like this:
A B C
0 13 14 15
1 2 5 8
2 3 6 9
Note: It is used for location-based indexing so it works for only the existing index and replaces the row element.
Conclusion
Appending a list as a new row in a DataFrame with a specific index is a common operation in data manipulation. This guide has shown you how to do it efficiently using Pandas. However, appending rows to a df is time-consuming and should be avoided. Sometimes it is necessary but a good practice is to build your table outside of pandas then create a df to process the data which is much faster than adding rows.


