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。任何帮助将不胜感激。
分配一个系列,这样更干净。
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)
可以做类似的事情:
df['average'] = [np.mean(df['a'])]+['']*(len(df)-1)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1460 次 |
最近记录: |