向现有数据框添加新行

时间:2019-02-06 07:17:48

标签: python pandas numpy

enter image description here

这是我的数据框。如何在行中添加max_value,min_value,mean_value,median_value名称,以使索引值类似于

0

1

2

3

4

max_value

min_value

均值

median_value

谁能帮助我解决这个问题

3 个答案:

答案 0 :(得分:3)

如果要添加行,请使用添加DataFrame.agg

df1 = df.append(df.agg(['max','min','mean','median']))

如果要添加列,请将assignminmaxmeanmedian一起使用:

df2 = df.assign(max_value=df.max(axis=1),
                min_value=df.min(axis=1),
                mean_value=df.mean(axis=1),
                median_value=df.median(axis=1))

答案 1 :(得分:2)

一种方法,

感谢@jezrael的帮助。

df = pd.DataFrame(np.random.randint(0,100,size=(5, 4)), columns=list('ABCD'))
df1=df.copy()

#column wise calc
df.loc['max']=df1.max()
df.loc['min']=df1.min()
df.loc['mean']=df1.mean()
df.loc['median']=df1.median()

#row wise calc
df['max']=df1.max(axis=1)
df['min']=df1.min(axis=1)
df['mean']=df1.mean(axis=1)
df['median']=df1.median(axis=1)

O / P:

           A     B     C     D   max   min   mean  median
0       49.0  91.0  16.0  17.0  91.0  16.0  43.25    33.0
1       20.0  42.0  86.0  60.0  86.0  20.0  52.00    51.0
2       32.0  25.0  94.0  13.0  94.0  13.0  41.00    28.5
3       40.0   1.0  66.0  31.0  66.0   1.0  34.50    35.5
4       18.0  30.0  67.0  31.0  67.0  18.0  36.50    30.5
max     49.0  91.0  94.0  60.0   NaN   NaN    NaN     NaN
min     18.0   1.0  16.0  13.0   NaN   NaN    NaN     NaN
mean    31.8  37.8  65.8  30.4   NaN   NaN    NaN     NaN
median  32.0  30.0  67.0  31.0   NaN   NaN    NaN     NaN

答案 2 :(得分:1)

这很好并且很好:

df1 = df.copy()
df.loc['max']=df1.max()
df.loc['min']=df1.min()
df.loc['mean']=df1.mean()
df.loc['median']=df1.median()