How to| 在数据的列上执行计算

您会常常需要对数据集中的列进行计算,尤其是当列表示变量时. 给定矩形数组时,有些函自动在数据的列上运算,而其它函数可能需要对数据进行一些处理,以在列上进行运算.

创建一些数据以供使用(SeedRandom 确保一个可预测的结果):

In[1]:=
Click for copyable input
Out[1]=

Mathematica 通过对其它列表内部的列表编组来表征数据. 每个列表被解释为 矩阵内部的一个行:

In[2]:=
Click for copyable input
Out[2]//MatrixForm=

函数 Grid 以同样的形式显示数据,只是没有大括号:

In[3]:=
Click for copyable input
Out[3]=

如果列表的一个矩形列表作为参数给出,缺省情况下许多函数在各个列上进行运算.

求各列的均值:

In[4]:=
Click for copyable input
Out[4]=

求各列的标准偏差:

In[5]:=
Click for copyable input
Out[5]=

求各列的中位数:

In[6]:=
Click for copyable input
Out[6]=

还可以选择个别列进行计算. 这里, 的第一列被选定:

In[14]:=
Click for copyable input
Out[14]=
In[15]:=
Click for copyable input
Out[15]=
In[16]:=
Click for copyable input
Out[16]=
In[17]:=
Click for copyable input
Out[17]=

对于列数大于2的矩阵,以分开的数据集合形式绘制行:

In[7]:=
Click for copyable input
Out[7]=

通过转置数据绘制列:

In[8]:=
Click for copyable input
Out[8]=

对于在向量上运算的函数,将函数映射在转置后的数据上,以对列进行运算:

In[9]:=
Click for copyable input
Out[9]=

将结果转置得到标准化的列:

In[10]:=
Click for copyable input
Out[10]=

转置与映射也可用于函数,以平滑参数:

In[11]:=
Click for copyable input
Out[11]=
New to Mathematica? Find your learning path »
Have a question? Ask support »