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

2024-05-18 06:11:08 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

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

Tags: dfwsvaluenangcloccatauthorize
1条回答
网友
1楼 · 发布于 2024-05-18 06:11:08

这是我的方法,我获取datafame而不使用NaN索引,并在其上附加'Fog'。然后,我使用^{}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

相关问题 更多 >