python - 计算数据框中列的每一行中数组的每个唯一数组

标签 python arrays pandas dataframe unique

我正在练习 pandas 和 python,我不太擅长 for 循环。我有一个数据框如下:假设这是 df:

   Name        Value
    A      [[A,B],[C,D]]   
    B      [[A,B],[D,E]] 
    C      [[D,E],[K,L],[M,L]] 
    D      [[K,L]]

我想遍历每一行并找到唯一的数组并计算它们。

我试过 np.unique(a, return_index=True) 然后返回两个不同的列表,我的问题是我不知道如何遍历每个数组。

预期结果为:

Value      Counts
[A,B]        2
[D,E]        2
[K,L]        2
[C,D]        1
[M,L]        1

非常感谢。

最佳答案

使用DataFrame.explode在 Pandas +0.25 中:

df.explode('Value')['Value'].value_counts()

输出:

[K, L]    2
[A, B]    2
[D, E]    2
[C, D]    1
[M, L]    1
Name: Value, dtype: int64

关于python - 计算数据框中列的每一行中数组的每个唯一数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58392702/

相关文章:

python - asyncio 与同步代码

java - 为什么这不会返回该区域?

java - 将列表拆分为包含相同数字的子列表

python - 对具有列表值的列使用 isin()

python - TensorFlow 中的 tf.argmax() 与 tf.arg_max()

python - 我如何找到字符串中多个子字符串的位置(Python 3.4.3 shell)

python - 将空格分隔的文件转换为 python 中的逗号分隔值文件

c - 使用 C 语言的文本文件登录系统

python - Pandas :遍历列并从一列开始

python - pandas 列表列的频率计数