I am facing problem on how to set another 2 rows be my header.
In a dataframe I have one header, and now I want take my first row and second row become header. Below is my dataframe code:
pvm=pd.DataFrame(pvm)
How can I add header=[0,1] into above code?
Or need start from the table style?
tableyy = final.style.set_table_attributes('border="" clas= "dataframe table table-hover table-bordered"').set_precision(10).render()
It seems you need iloc with assign to columns names:
df.columns = [df.iloc[0], df.iloc[1]]
and if need remove this rows:
df = df.iloc[2:].reset_index(drop=True)
df.columns.names = (None, None)
Sample:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9]})
print (df)
A B C
0 1 4 7
1 2 5 8
2 3 6 9
df.columns = [df.iloc[0], df.iloc[1]]
df = df.iloc[2:].reset_index(drop=True)
df.columns.names = (None, None)
print (df)
1 4 7
2 5 8
0 3 6 9
I can't fully understand what you want to achieve, but I will try to guess:
pvm.columns = ['0', '1', *df.columns[2:]]
is it what you intend to get?
Example:
import pandas as pd
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9]})
print (df)
print('==========')
df.columns = ['0', '1', *df.columns[2:]]
print (df)
gives:
"""
A B C
0 1 4 7
1 2 5 8
2 3 6 9
=========
0 1 C
0 1 4 7
1 2 5 8
2 3 6 9
"""