大熊猫添加一列,只有一行

Kev*_*ang 5 python dataframe pandas

这听起来有点奇怪,但是我认为这正是我现在需要的:

我有几个熊猫数据框,其中包含带有浮点数的列,例如:

   a  b  c
0  0  1  2
1  3  4  5
2  6  7  8
Run Code Online (Sandbox Code Playgroud)

现在,我想添加一列,仅包含一行,并且该值等于列“ a”的平均值,在这种情况下为3.0。因此,新的数据框将如下所示:

   a  b  c  average
0  0  1  2  3.0
1  3  4  5
2  6  7  8
Run Code Online (Sandbox Code Playgroud)

并且下面的所有行都是空的。

我已经尝试过类似的事情,df['average'] = np.mean(df['a'])但是那使我整整达到了3.0。任何帮助将不胜感激。

cs9*_*s95 7

分配一个系列,这样更干净。

df['average'] = pd.Series(df['a'].mean(), index=df.index[[0]])
Run Code Online (Sandbox Code Playgroud)

或者,更好的是,使用以下方式进行分配loc

df.loc[df.index[0], 'average'] = df['a'].mean().item()
Run Code Online (Sandbox Code Playgroud)

填充 NaN 很简单,你可以这样做

df['average'] = df['average'].fillna('')
df
   a  b  c average
0  0  1  2       3
1  3  4  5        
2  6  7  8        
Run Code Online (Sandbox Code Playgroud)


U10*_*ard 3

可以做类似的事情:

df['average'] = [np.mean(df['a'])]+['']*(len(df)-1)
Run Code Online (Sandbox Code Playgroud)