添加新行到现有的数据帧

问题描述 投票:1回答:3

enter image description here

这是我的数据帧。如何我添加MAX_VALUE,MIN_VALUE,mean_value,中值名行让我的索引值会是怎样

0

1

2

3

4

MAX_VALUE

MIN_VALUE

平均值

中值

谁能帮我解决这个

python pandas numpy
3个回答
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))

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

1
投票

这种运作良好,罚款:

df1 = df.copy()
df.loc['max']=df1.max()
df.loc['min']=df1.min()
df.loc['mean']=df1.mean()
df.loc['median']=df1.median()
© www.soinside.com 2019 - 2024. All rights reserved.