Home > Backend Development > Python Tutorial > How to Efficiently Add a New Column to a Pandas DataFrame in Python?

How to Efficiently Add a New Column to a Pandas DataFrame in Python?

DDD
Release: 2024-12-22 11:32:09
Original
365 people have browsed it

How to Efficiently Add a New Column to a Pandas DataFrame in Python?

Adding a New Column to an Existing DataFrame

In data manipulation tasks, it's often necessary to augment existing DataFrames with additional columns. Here, we address the question of how to achieve this in Python using Pandas.

Problem Statement

Consider the following DataFrame with indexed columns and rows with non-continuous numbers:

          a         b         c         d
2  0.671399  0.101208 -0.181532  0.241273
3  0.446172 -0.243316  0.051767  1.577318
5  0.614758  0.075793 -0.451460 -0.012493
Copy after login

Our goal is to add a new column, 'e', to this DataFrame without altering the existing data. The new column should have the same length as the DataFrame.

Solution

Method 1 (assign):

The most efficient method to add a Series of values as a new column to a DataFrame is using the assign function:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)
Copy after login

where:

  • df1 is the original DataFrame
  • sLength is the length of the original DataFrame
  • np.random.randn(sLength) generates a Series of random values

Method 2 (loc):

Another method is to use the loc accessor to set the values of the new column:

df1.loc[:,'f'] = pd.Series(np.random.randn(sLength), index=df1.index)
Copy after login

where:

  • df1 is the original DataFrame
  • 'f' is the name of the new column
  • pd.Series(np.random.randn(sLength)) generates a Series of random values
  • df1.index sets the index of the new column to match the original DataFrame

Both methods effectively add the desired new column 'e' to the DataFrame, preserving the existing data.

The above is the detailed content of How to Efficiently Add a New Column to a Pandas DataFrame in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template