Python 需要帮助获取数据帧中每个数字的频率吗

Python 需要帮助获取数据帧中每个数字的频率吗,python,pandas,dataframe,Python,Pandas,Dataframe,我试图找到一种简单的方法将一个数据帧转换成另一个具有每个特征频率的数据帧。下面我将提供一个我正在尝试做的示例 当前dataframe示例功能标签仅为此处的索引值: 0 1 2 3 4 ... n 0 2 3 1 4 2 ~ 1 4 3 4 3 2 ~ 2 2 3 2 3 2 ~ 3 1 3 0 3 2 ~ ... m ~ ~

我试图找到一种简单的方法将一个数据帧转换成另一个具有每个特征频率的数据帧。下面我将提供一个我正在尝试做的示例

当前dataframe示例功能标签仅为此处的索引值:

   0   1   2   3   4   ...   n
0  2   3   1   4   2         ~
1  4   3   4   3   2         ~
2  2   3   2   3   2         ~
3  1   3   0   3   2         ~
...
m  ~   ~   ~   ~   ~         ~
Dataframe我想将其转换为:

   0   1   2   3   4   ...   n
0  0   1   2   1   1         ~
1  0   0   1   2   2         ~
2  0   0   3   2   0         ~
3  1   1   1   2   0         ~
...
m  ~   ~   ~   ~   ~         ~
正如您所看到的,列标签对应于数据帧中可能的数字,并且该数字每行的每个频率都被放入所讨论行的特定功能中。有没有一种简单的方法可以用python实现这一点?我有一个大的数据帧,我正试图将其转换为一个频率数据帧,用于特征选择

如果需要更多信息,我会更新我的帖子

将pd.value\u计数与应用一起使用:

替代

将pd.value_计数与应用一起使用:

替代

努比 这个值就是速度。但显然更复杂

n, k = df.shape
i = df.index.to_numpy().repeat(k)
j = np.ravel(df)
m = j.max() + 1

a = np.zeros((n, m), int)

np.add.at(a, (i, j), 1)

pd.DataFrame(a, df.index, range(m))

   0  1  2  3  4
0  0  1  2  1  1
1  0  0  1  2  2
2  0  0  3  2  0
3  1  1  1  2  0
这将生成一个索引i,该索引i将对应于我分配给j的df中的值。我将使用这些索引在I和j中的索引指定的数组a的位置添加一个索引 这个值就是速度。但显然更复杂

n, k = df.shape
i = df.index.to_numpy().repeat(k)
j = np.ravel(df)
m = j.max() + 1

a = np.zeros((n, m), int)

np.add.at(a, (i, j), 1)

pd.DataFrame(a, df.index, range(m))

   0  1  2  3  4
0  0  1  2  1  1
1  0  0  1  2  2
2  0  0  3  2  0
3  1  1  1  2  0

这将生成一个索引i,该索引i将对应于我分配给j的df中的值。我将使用这些索引在由I和j中的索引指定的数组a的位置添加一个索引

请重新进行介绍,尤其是。网络上有许多教程,以及许多关于堆栈溢出的先前问题,这些问题涉及数据帧中的计数值。我们希望您进行这项研究,并发布有效的编码尝试。堆栈溢出不是编码或设计服务。请重新进行介绍,尤其是。网络上有许多教程,以及许多关于堆栈溢出的先前问题,这些问题涉及数据帧中的计数值。我们希望您进行这项研究,并发布有效的编码尝试。堆栈溢出不是编码或设计服务。非常感谢。我似乎在这里找不到它,尽管显然已经有一个类似的问题了。非常好,非常感谢。我似乎在这里找不到它,尽管显然已经有一个类似的问题了。工作完美。
n, k = df.shape
i = df.index.to_numpy().repeat(k)
j = np.ravel(df)
m = j.max() + 1

a = np.zeros((n, m), int)

np.add.at(a, (i, j), 1)

pd.DataFrame(a, df.index, range(m))

   0  1  2  3  4
0  0  1  2  1  1
1  0  0  1  2  2
2  0  0  3  2  0
3  1  1  1  2  0