如何设置索引 NaN(空单元格)

How to set index NaN (empty cell )

gc = gspread.authorize(creds)
ws = gc.open("Data").worksheet("test3")

df = get_as_dataframe(ws).set_index('A')

# update
df._set_value('Bat', 'B', '11')
df._set_value('Bat', 'C', '12')
df._set_value('Bat', 'D', '13')
df.loc[ str('Fog')] = ''

df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
print(df)

输出

       B    C    D
A                 
Cat    5    6    9
Dog    3    1    7
Bat   11   12   13
NaN  NaN  NaN  NaN      
NaN  NaN  NaN  NaN
..   ...  ...  ...
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN
Fog               

我想变成这样....有 3 个索引 Cat、Dog、Bat,我想在 Bat 索引中更改值后将 NaN 单元格设置为新的索引名称 Fog

       B    C    D
A                 
Cat    5    6    9
Dog    3    1    7
Bat   11   12   13
Fog  NaN  NaN  NaN
NaN  NaN  NaN  NaN
..   ...  ...  ...
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN
NaN  NaN  NaN  NaN

这是我的方法,我得到没有 NaN 索引的数据名,并向其附加 'Fog'。然后,我使用 append:

NaN 行添加到上述数据框中
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