Home > Software engineering >  Pandas adding values into the dataframe
Pandas adding values into the dataframe

Time:07-15

Here is my code where I'm trying to add/append new values to the third column:

        file = 'excel_name.xlsx'
        df = pd.read_excel(file, engine='openpyxl')
        print(df)
        df.insert(3, 'sub', [1, 7, 4, 1])
        print('test', df)

the output of print(df):

                      name  ...         sub
0                     test1  ...        NaN
1                     test2  ...        NaN
2                     test3  ...        NaN
3                     test4  ...        NaN

What I want to do:

                      name  ...         sub
0                     test1  ...        1
1                     test2  ...        7
2                     test3  ...        4
3                     test4  ...        1

CodePudding user response:

you can use this. This will work for both even and uneven length of list which doesn't match for the length of columns

l = [1,7,4,1]
df.loc[range(len(l)),'sub'] = l

CodePudding user response:

you can do like this:

import pandas as pd
df = pd.read_excel('~/Downloads/excel_name.xlsx')
array = [1,4,7,1]
df['sub'] = array
print(df)

# output
    name  sub
0  test1    1
1  test2    4
2  test3    7
3  test4    1

Warning: Your array and the number of rows in your excel should match.

Edit: Your code also should work, please check the index which you are trying to add, if the last index of the df goes beyond three then it will throw error.

  • Related