关于列表理解的多个条件语句

问题描述

这是我的代码,我想知道我是否可以使用列表理解来执行相同的操作(计算内的簇数并输出长度为 env.policies['json.dumps_kwargs'] = {'sort_keys': False} 的列表)。同一个簇号至少有两行,但可以更多,而且它们会循环。我试过了,但无法弄清楚。 有什么建议吗?

我的代码

df.shape[0]

DataFrame 看起来像

索引 集群
0 0
1 0
2 1
3 1
4 1
5 2
6 2
7 0
8 0
... ...
n

解决方法

你想要这个吗?

from itertools import groupby

result = [0 if index == 0 and key == 0
          else index
          for index,(key,group) in enumerate(groupby(my_values))
          for _ in group
          ]

print(result)

通过 - df['cluster'].values 替换列表推导式中的 my_values。测试

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...