Вот мой подход: я получаю datafame без индекса NaN
и добавляю к нему «Fog». Затем я добавляю строки NaN
в вышеупомянутый фрейм данных, используя append
:
import io
import pandas as pd
import numpy as np
#Creation of an example of dataframe
s_e='''
A B C D
Cat 5 6 9
Dog 3 1 7
Bat 11 12 13
'''
df= pd.read_csv(io.StringIO(s_e), sep='\s\s+', engine='python')
df=df.set_index('A')
df._set_value('Bat', 'B', '11')
df._set_value('Bat', 'C', '12')
df._set_value('Bat', 'D', '13')
for i in range(5):
df1 = pd.DataFrame([[np.nan] * len(df.columns)], columns=df.columns, index=[np.nan])
df=df.append(df1)
df=df.rename_axis("A")
print(df)
#Adding the row 'Fog'
df1=df[~df.index.isna()].append(pd.DataFrame([[np.nan] * len(df.columns)], columns=df.columns, index=['Fog']))
df=df1.append(df[df.index.isna()])
df=df.rename_axis("A")
print(df)
Вывод:
df:
B C D
A
Cat 5.0 6.0 9.0
Dog 3.0 1.0 7.0
Bat 11.0 12.0 13.0
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
newdf:
B C D
A
Cat 5.0 6.0 9.0
Dog 3.0 1.0 7.0
Bat 11.0 12.0 13.0
Fog NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN