xxxxxxxxxx
In [99]: df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])
In [100]: s = df.xs(3)
In [101]: s.name = 10
In [102]: df.append(s)
Out[102]:
A B C D
0 -2.083321 -0.153749 0.174436 1.081056
1 -1.026692 1.495850 -0.025245 -0.171046
2 0.072272 1.218376 1.433281 0.747815
3 -0.940552 0.853073 -0.134842 -0.277135
4 0.478302 -0.599752 -0.080577 0.468618
5 2.609004 -1.679299 -1.593016 1.172298
6 -0.201605 0.406925 1.983177 0.012030
7 1.158530 -2.240124 0.851323 -0.240378
10 -0.940552 0.853073 -0.134842 -0.277135
xxxxxxxxxx
# Basic syntax using .loc:
df.loc[len(df.index)] = ['col1_val', 'col2_val', '...']
# Where:
# - len(df.index) gets the number of rows in the dataframe. Because the index
# uses 0 indexing, the length is 1 more than the number of rows.
# - .loc[] is used to access rows and columns of the dataframe by their
# label(s). In this case, because the length is 1 more than the number
# of rows, we're effectively saying "add a new row with an index label
# that is 1 more than the bottom row".
# Basic syntax using .concat:
df = pd.concat([df, pd.DataFrame([{'col1_name': 'col1_val', 'col2_name': 'col2_val', 'col3_name': '...'}])], ignore_index=True)
# Note, the .append method is deprecated now.
# Example usage using .loc:
import pandas as pd
# Make the dataframe
dict = {'Name':['Martha', 'Tim', 'Rob', 'Georgia'],
'Maths':[87, 91, 97, 95],
'Science':[83, 99, 84, 76]}
df = pd.DataFrame(dict)
# Add a row to it
df.loc[len(df.index)] = ['Amy', 89, 93]
print(df)
--> Name Maths Science
0 Martha 87 83
1 Tim 91 99
2 Rob 97 84
3 Georgia 95 76
4 Amy 89 93
# Example usage using .concat:
import pandas as pd
# Make the dataframe
dict = {'Name':['Martha', 'Tim', 'Rob', 'Georgia'],
'Maths':[87, 91, 97, 95],
'Science':[83, 99, 84, 76]}
df = pd.DataFrame(dict)
# Add a row to it
df = pd.concat([df, pd.DataFrame([{'Name': 'Amy', 'Maths': 89, 'Science': 93}])], ignore_index=True)
print(df)
--> Name Maths Science
0 Martha 87 83
1 Tim 91 99
2 Rob 97 84
3 Georgia 95 76
4 Amy 89 93
xxxxxxxxxx
# Below are quick example
# add Row to DataFrame
list_row = ["Hyperion", 27000, "60days", 2000]
df.loc[len(df)] = list_row
# Insert Dict to the dataframe using DataFrame.append()
new_row = {'Courses':'Hyperion', 'Fee':24000, 'Duration':'55days', 'Discount':1800}
df2 = df.append(new_row, ignore_index=True)
# Add new row to specifig index name
df2 = df.append(pd.DataFrame([new_row],index=['7'],columns=df.columns))
# Append row to the DataFrame
df2 = df.append(pd.Series(new_row, index=df.columns, name='7'))
# Using pandas.concat() to add a row
new_row = pd.DataFrame({'Courses':'Hyperion', 'Fee':24000, 'Duration':'55days', 'Discount':1800}, index=[0])
df2 = pd.concat([new_row,df.loc[:]]).reset_index(drop=True)
# Add specific row/index name using DataFrame.loc[]
df.loc['7', :] = ['Hive',25000,'45days',2000]
# Add row in DataFrame using DataFrame.loc[]
df.loc['7'] = ['Hive',25000,'45days',2000]
xxxxxxxxxx
# append row to dataframe without index
a_row = pd.Series([1, 2])
df = pd.DataFrame([[3, 4], [5, 6]])
row_df = pd.DataFrame([a_row])
df = pd.concat([row_df, df], ignore_index=True)
print(df)
# OUTPUT
# 0 1
# 0 1 2
# 1 3 4
# 2 5 6
# append row to dataframe with index
a_row = pd.Series([1, 2])
df = pd.DataFrame([[3, 4], [5, 6]], index = ["row1", "row2"])
row_df = pd.DataFrame([a_row], index = ["row3"])
df = pd.concat([row_df, df])
print(df)
# OUTPUT
# 0 1
# row3 1 2
# row1 3 4
# row2 5 6
xxxxxxxxxx
line = DataFrame({"onset": 30.0, "length": 1.3}, index=[3])
df2 = concat([df.iloc[:2], line, df.iloc[2:]]).reset_index(drop=True)
xxxxxxxxxx
import pandas as pd
import numpy as np
x=pd.DataFrame([{'BOY':1,'GIRL':44},{'BOY':22,'GIRL':100}])
print(x)
x=x.T #TRANSPOSE IT AND MAKE IT AS COLUMN
x.insert(1,2,[44,56]) #INSERT A NEW COLUMN AT ANY POSITION
x=x.T # NOW TRANSPOSE IT AGAIN TO MAKE IT ROW AGAIN
x=x.reset_index(drop=True) # RESET INDEX
print(x)
xxxxxxxxxx
# Add a new row at index k with values provided in list
dfObj.loc['k'] = ['Smriti', 26, 'Bangalore', 'India']
xxxxxxxxxx
>>> import pandas as pd
>>> from numpy.random import randint
>>> df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
>>> for i in range(5):
>>> df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))
>>> df
lib qty1 qty2
0 name0 3 3
1 name1 2 4
2 name2 2 8
3 name3 2 1
4 name4 9 6
xxxxxxxxxx
# add dataframe-rows like this
df5 = pd.DataFrame([1], index=['a'])
df6 = pd.DataFrame([2], index=['a'])
pd.concat([df5, df6], verify_integrity=True)