добавление новых строк в существующий фрейм данных - PullRequest
0 голосов
/ 06 февраля 2019

enter image description here

Это мой фрейм данных.Как добавить имена max_value, min_value, mean_value, median_value в строки, чтобы значения моего индекса были такими, как

0

1

2

3

4

max_value

min_value

mean_value

median_value

Может ли кто-нибудь помочь мне в решении этой проблемы

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

One Way is,

Спасибо @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
0 голосов
/ 06 февраля 2019

Это работало хорошо и отлично:

df1 = df.copy()
df.loc['max']=df1.max()
df.loc['min']=df1.min()
df.loc['mean']=df1.mean()
df.loc['median']=df1.median()
0 голосов
/ 06 февраля 2019

Если хотите добавить строки, используйте add DataFrame.agg:

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

Если хотите добавить столбцы, используйте assign с min, max, mean и median:

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...