每个单元格包含列表时如何计算熊猫中唯一值的数量

萨里

我有一个这样的数据框:

以pd格式导入熊猫,以np格式导入numpy

Out[10]: 
       samples  subject  trial_num
0    [0 2 2        1          1
1    [3 3 0        1          2
2    [1 1 1        1          3
3    [0 1 2        2          1
4    [4 5 6        2          2
5    [0 8 8        2          3

我想要这样的输出:

       samples  subject  trial_num   frequency
0    [0 2 2        1          1      2    
1    [3 3 0        1          2      2
2    [1 1 1        1          3      1
3    [0 1 2        2          1      3
4    [4 5 6        2          2      3
5    [0 8 8        2          3      2

这里的频率是每个样本的每个列表中唯一值的数量。例如,[0, 2, 2]只有一个唯一值。

我可以在没有列表的情况下在熊猫中执行唯一值,也可以使用for循环实现它以遍历每一行并访问每个列表和....但是我想要一种更好的熊猫方法。

谢谢。

安德烈·凯斯利(Andrej Kesely)

您可以使用collections.Counter该任务:

from collections import Counter

df['frequency'] = df['samples'].apply(lambda x: sum(v==1 for v in Counter(x).values()))

print(df)

印刷品:

     samples  subject  trial_num  frequency
0  [0, 2, 2]        1          1          1
1  [3, 3, 0]        1          2          1
2  [1, 1, 1]        1          3          0
3  [0, 1, 2]        2          1          3
4  [4, 5, 6]        2          2          3
5  [0, 8, 8]        2          3          1

编辑:对于更新的问题:

df['frequency'] = df['samples'].apply(lambda x: len(set(x)))

print(df)

印刷品:

     samples  subject  trial_num  frequency
0  [0, 2, 2]        1          1          2
1  [3, 3, 0]        1          2          2
2  [1, 1, 1]        1          3          1
3  [0, 1, 2]        2          1          3
4  [4, 5, 6]        2          2          3
5  [0, 8, 8]        2          3          2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用单元格优先计算重复列表中的唯一值-Google Spreadsheets

为每个熊猫数据框单元格的字符串列表分配唯一值

尝试为多个单元格计算用逗号分隔的唯一值时,如何排除空白单元格

如果Excel中包含值,如何计算单元格

如何选择列中单元格的唯一值

如何计算熊猫中每个唯一值的出现

汇总熊猫数据框中的列,其中每个单元格值都是一个列表

当单元格包含列表时,将应用熊猫

如何将一列中的每个单元格与熊猫中的特定值进行比较?

使用excel,如何计算包含文本“ true”或“ false”的列中的单元格数量?

在excel或R中为给定范围的每个单元格中创建唯一值

如何在列表的第一个单元格中搜索,每个列表都是字典中的值?

计算Powershell中相同单元格值的数量

Python / DataFrame:计算每个列单元格中的唯一单词(不计算同一列单元格中的相同单词)

如何使每个工作表唯一的被调用单元格?

在熊猫中每个单元格替换多个值

从包含数据帧中元组列表的每个单元格中检索最大值

是否有一个功能可以搜索熊猫单元格列表中的值,如果该值是单独的或唯一的类型,则返回行?

Excel 从值列表中向相邻单元格返回 4 个随机唯一值

Excel:计算一列中的单元格数量,直到它们的总和大于设置值

在 Excel VBA 中按颜色计算唯一单元格值

连接Excel中的唯一值而不计算空白单元格

计算包含特定单词(“ Hey”)的特定行中包含特定值(“ N”)的单元格的数量

Plotly:如何从每个单元格包含一个列表的pandas DataFrame创建线图?

是否可以计算一个单元格中唯一字符的数量?

如何计算值在给定范围内的多个工作表中的单元格数量?

计算单元格中列的每个值

Excel VBA:格式控件下拉列表填充单元格中的唯一值

检查一行中的每个单元格范围是否包含相同的值