Python 在新列中添加dataframe的统计信息
我有一个数据帧df,如下所示:Python 在新列中添加dataframe的统计信息,python,dataframe,statistics,Python,Dataframe,Statistics,我有一个数据帧df,如下所示: A B C D E F .... Z 0 3 4 7 1 5 10 .... 2 1 2 5 8 3 3 18 .... 3 2 5 4 9 5 6 75 .... 2 3 1 5 4 7 9 7 .... 1 4 4 5 2 1 2 10 .... 1 5 7 4 3 0 4 10 .... 0 df['F_mean'] = d
A B C D E F .... Z
0 3 4 7 1 5 10 .... 2
1 2 5 8 3 3 18 .... 3
2 5 4 9 5 6 75 .... 2
3 1 5 4 7 9 7 .... 1
4 4 5 2 1 2 10 .... 1
5 7 4 3 0 4 10 .... 0
df['F_mean'] = df['F'].mean()
df['F_std'] = df['F'].std()
df['F_min'] = df['F'].min()
df['F_max'] = df['F'].max()
我添加了一个新的列,列F的统计数据如下:
A B C D E F .... Z
0 3 4 7 1 5 10 .... 2
1 2 5 8 3 3 18 .... 3
2 5 4 9 5 6 75 .... 2
3 1 5 4 7 9 7 .... 1
4 4 5 2 1 2 10 .... 1
5 7 4 3 0 4 10 .... 0
df['F_mean'] = df['F'].mean()
df['F_std'] = df['F'].std()
df['F_min'] = df['F'].min()
df['F_max'] = df['F'].max()
是否有任何方法可以添加所有列的统计数据mean、std、min、max,而不必手动键入每个新列?我尝试用这段代码来实现mean函数,但我得到了一个错误代码'Index'对象没有属性'mean'
df[columns + '_mean'] = df.columns.mean()
我的目标是将这样的列添加到我的df数据帧中,但是对于每一列,从A到Z
A_mean A_min A_max ....Z_max
0 1 4 7
1 1 4 7
2 1 4 7
3 1 4 7
4 1 4 7
5 1 4 7
谢谢,,
R您可以使用
.descripe()
并选择实际需要的行。您可以使用.descripe()
并选择实际需要的行。您可以使用descripe()
查找数据帧
此函数可同时提供多个有用的功能。例如,您将获得三个四分位数,平均值、计数、最小值和最大值以及标准偏差。这非常有用,尤其是在探索性数据分析中
举个例子:
>>> df
col1 col2 col3
0 1 50 3
1 1 40 3
2 1 11 3
3 2 10 4
4 2 25 4
>>> df.describe()
col1 col2 col3
count 5.000000 5.000000 5.000000
mean 1.400000 27.200000 3.400000
std 0.547723 17.655028 0.547723
min 1.000000 10.000000 3.000000
25% 1.000000 11.000000 3.000000
50% 1.000000 25.000000 3.000000
75% 2.000000 40.000000 4.000000
max 2.000000 50.000000 4.000000
我不认为把它们都作为一个列,但你可以定义
数据帧的列标准偏差
数据帧的行标准偏差
所以,不是特定于行或列,您可以尝试下面的方法
df['F_mean'] = df.mean(axis=1)
df['F_std'] = df.std(axis=1)
df['F_min'] = df.min(axis=1)
df['F_max'] = df.max(axis=1)
更好:
>>> df.describe().loc[['count','mean', 'std', 'min', 'max']]
col1 col2 col3
count 5.000000 5.000000 5.000000
mean 1.400000 27.200000 3.400000
std 0.547723 17.655028 0.547723
min 1.000000 10.000000 3.000000
max 2.000000 50.000000 4.000000
您可以使用descripe()
查找DataFrame
此函数可同时提供多个有用的功能。例如,您将获得三个四分位数,平均值、计数、最小值和最大值以及标准偏差。这非常有用,尤其是在探索性数据分析中
举个例子:
>>> df
col1 col2 col3
0 1 50 3
1 1 40 3
2 1 11 3
3 2 10 4
4 2 25 4
>>> df.describe()
col1 col2 col3
count 5.000000 5.000000 5.000000
mean 1.400000 27.200000 3.400000
std 0.547723 17.655028 0.547723
min 1.000000 10.000000 3.000000
25% 1.000000 11.000000 3.000000
50% 1.000000 25.000000 3.000000
75% 2.000000 40.000000 4.000000
max 2.000000 50.000000 4.000000
我不认为把它们都作为一个列,但你可以定义
数据帧的列标准偏差
数据帧的行标准偏差
所以,不是特定于行或列,您可以尝试下面的方法
df['F_mean'] = df.mean(axis=1)
df['F_std'] = df.std(axis=1)
df['F_min'] = df.min(axis=1)
df['F_max'] = df.max(axis=1)
更好:
>>> df.describe().loc[['count','mean', 'std', 'min', 'max']]
col1 col2 col3
count 5.000000 5.000000 5.000000
mean 1.400000 27.200000 3.400000
std 0.547723 17.655028 0.547723
min 1.000000 10.000000 3.000000
max 2.000000 50.000000 4.000000
是的,但是我如何在一个新的列中得到这个计数,平均值,std,min,max,比如我要求的df.F?@rafa_sa,刚刚更新了答案,看看是否有用。我理解你的意思,但是我必须为每一列写一个额外的代码df['a_mean']=
,df['a_std']=
,df['a_min']=
,df['A_max']=
然后对B、C、D、E、F直到Z都是一样的。我的问题是如何更容易地做到这一点,这样我就不必为每只手的每一列都写它了?试试..>>df.descripe().loc['count','mean','std',min',max']
我会检查一下,看看我是否能对此有所了解。是的,但是我如何在一个新的列中得到这个计数,平均值,标准差,最小值,最大值,比如我要求的df.F?@raffa_sa,刚刚更新了答案,看看这是否有帮助。我明白你的意思,但是我必须为每一列写一个额外的代码df['a_mean']=
,df['A_std']=
,df['A_min']=
,df['A_max']=
,然后对B,C,D,E,F直到Z都是一样的。我的问题是,我如何更容易地做到这一点,这样我就不必为每只手的每一列都写了?试试..>df.description().loc['count','mean','std','min']
我来查一下,看看能不能查到什么。