Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert a column to a pandas dataframe

Scenario: I have a code that reads data from excel worksheets into dataframes, merges into one dataframe, and perform some cleaning procedures.

Issue: I am trying to add a column with a given value to the beginning of the dataframe with pd.insert, but every time I run this line the dataframe disappears from the variable explorer.

This is the line I am using:

fnl = fnl.insert(loc=1, column='N', value=15)

Question: Why could be the reason for this, and how to fix it?

like image 578
DGMS89 Avatar asked Aug 23 '17 16:08

DGMS89


People also ask

How do I add a column to a CSV DataFrame in Python?

Add new columns to a DataFrame using [] operator If we want to add any new column at the end of the table, we have to use the [] operator. Let's add a new column named "Age" into "aa" csv file. In the above code, Age value has defined the universal value that means its value is common to all the rows.


2 Answers

pd.DataFrame.insert acts in place and doesn't return anything. All you need is

fnl.insert(1, 'N', 15)

Because it returns nothing, you were assigning None to fnl and that's why it was disappearing.

like image 91
piRSquared Avatar answered Nov 01 '22 07:11

piRSquared


You could also append it to the end of the dataframe (the order of the columns generally shouldn't matter except for presentation purposes).

fnl = fnl.assign(N=15)

This returns a copy of the dataframe with the new column N added with values equal to 15.

Because the index doesn't matter in this case, it should be more efficient to append via:

fnl['N'] = 15
like image 3
Alexander Avatar answered Nov 01 '22 08:11

Alexander