我试图显示按字母顺序排序的数据,以便以相同字母开头的项目位于不同的列中。在开始新列之前,这些列最多可容纳 10 个项目。我可以成功地按字母顺序划分数据并按每列的项目数划分,但我正在努力将这两个组合起来:
按字母顺序划分:
<xsl:template match="/">
<xsl:key name="node-by-first-letter" match="node" use="substring(@email, 1, 1)" />
<div class="scroller-panel">
<xsl:for-each select="msxml:node-set($members)/node[count(. | key('node-by-first-letter', substring(@email, 1, 1))[1]) = 1]">
<xsl:sort select="@email" order="ascending"/>
<xsl:apply-templates select="." mode="group" />
</xsl:for-each></div></xsl:template>
<xsl:template match="node" mode="group">
<div class="column-312 scroller-item people-search-column fade-panel">
<h2>
<xsl:value-of select="Exslt.ExsltStrings:uppercase(substring(@email,1,1))"/>
</h2>
<ul class="stripe-list">
<xsl:apply-templates select="key('node-by-first-letter', substring(@email, 1, 1))" mode="item">
<xsl:sort select="@email" />
</xsl:apply-templates>
</ul>
</div>
</xsl:template>
<xsl:template match="node" mode="item">
<li>
<a href="4.0.1.person.profile.html">
<xsl:value-of select="@email"/>
</a>
</li>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
除以每列的最大项目数:
<xsl:for-each select="msxml:node-set($members)/members/member[position() mod 10 = 1]">
<ul>
<xsl:for-each select=". …Run Code Online (Sandbox Code Playgroud) 我有以下数据:
A = [1 2 ; 3 2; 4 7; 10 2; 6 7; 10 9]
B = [1 2 3; 4 4 9; 1 8 0; 3 7 9; 3 6 8]
C = [4; 10; 6; 3; 1]
A =
1 2
3 2
4 7
10 2
6 7
10 9
B =
1 2 3
4 4 9
1 8 0
3 7 9
3 6 8
C.' =
4 10 6 3 1
Run Code Online (Sandbox Code Playgroud)
对于A(:,2) …
我有以下片段,有点不言自明:
> value <- by(df$Percent, df$Year, sum)
> str(value)
'by' int [1:20(1d)] 100 100 100 100 100 100 100 100 100 100 ...
- attr(*, "dimnames")=List of 1
..$ df$Year: chr [1:20] "1993" "1994" "1995" "1996" ...
- attr(*, "call")= language by.default(data = df$Percent, INDICES = df$Year, FUN = sum)
Run Code Online (Sandbox Code Playgroud)
问题是如何提取所有密钥(在本例中为Year)和聚合值(所有和Percents)作为集合?我已经尝试了很多东西,但无法弄清楚如何获得它,例如在这种情况下所有年份和所有百分之.
我找到的唯一方法是使用[[]]运算符迭代和访问它,例如值[[1]],但这是非常低效和不方便的.
更新:我的用例是我有以下数据集,例如
Year Percent
1999 40
1999 20
1999 10
2000 10
2000 20
Run Code Online (Sandbox Code Playgroud)
我只需要每年的百分比之和即
Year Percent
1999 70
2000 30
Run Code Online (Sandbox Code Playgroud)
通过给我这个,但在一个EXTREMELLY不方便的输出结构.我只需要两个列表或一个简单的输出数据帧.
我对 Java 8 中的流很陌生,所以我的方法可能是错误的。
我有 2 个对象如下
object1 {
BigDecimal amount;
Code1 code1;
Code2 code2;
Code3 code3;
String desc;
}
object2 {
BigDecimal amount;
Code1 code1;
Code2 code2;
Code3 code3;
}
Run Code Online (Sandbox Code Playgroud)
所以我想收集 code1 && code2 && code3 相同的所有 object1,然后将数量相加将其添加到 object2 列表中。
我没有代码来做到这一点......我想编写一个代码来完成这项工作我正在尝试从http://docs.oracle.com/javase/tutorial/collections/interfaces/map.html实现一些东西
或者按部门计算所有工资的总和:
// Compute sum of salaries by department
Map<Department, Integer> totalByDept = employees.stream()
.collect(Collectors.groupingBy(Employee::getDepartment,
Collectors.summingInt(Employee::getSalary)));
Run Code Online (Sandbox Code Playgroud) 我想根据名称选择的相似程度创建一个组变量。我已经开始使用 stringdist 包来生成距离的度量。但我不确定如何使用该输出信息来生成一组变量。我看过 hclust 但似乎使用聚类函数你需要知道你最终需要多少组,我不知道。我开始的代码如下:
name_list <- c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_dist <- stringdistmatrix(name_list)
name_dist
name_dist2 <- stringdistmatrix(name_list, method="soundex")
name_dist2
Run Code Online (Sandbox Code Playgroud)
我想看到一个包含两列的数据框,看起来像
name = c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_group = c(1, 1, 1, 2, 2, 2, 3, 3, 4)
Run Code Online (Sandbox Code Playgroud)
显然,根据我使用的距离测量方式,这些组可能略有不同(我在上面建议了两个),但我可能会选择一个或另一个来跑步。
基本上,如何在不知道我想要的集群数量的情况下从距离矩阵到组变量?
我有一个名为Team的对象列表,我想创建它们的组但不按顺序,随机化.组号被赋予功能以及列表
public List<List<Team>> GenerateGroups(List<Team> teams, int amount)
{
List<List<Team>> result = new List<List<Team>>();
for (int i = 0; i < amount; ++i)
result.Add(new List<Team>());
foreach(Team team in teams)
{
//Add something
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我被困在这里.我不确定如何添加团队.此外,如果有人可以压缩我的代码,它将非常有用.我不需要它返回List>如果有人有更好的主意.
我有一个id和速度的数据集.
id <- c(1,1,1,1,2,2,2,2,3,3,3)
speed <- c(40,30,50,40,45,50,30,55,50,50,60)
i <- cbind(id, speed)
limit <- 35
Run Code Online (Sandbox Code Playgroud)
比如,如果'速度'越过'限制'将其计为1.只有当速度低于并超过'限制'时,您才会再次计算.
我希望数据像.
id | Speed Viol.
----------
1 | 2
---------
2 | 2
---------
3 | 1
---------
Run Code Online (Sandbox Code Playgroud)
这里是id(count).
id1 (1) 40 (2) 50,40
id2 (1) 45,50 (2) 55
id3 (1) 50,50,60
Run Code Online (Sandbox Code Playgroud)
如何做到不使用if().
我试图使用itertools.groupby帮助我按正或负属性对整数列表进行分组,例如:
输入
[1,2,3, -1,-2,-3, 1,2,3, -1,-2,-3]
Run Code Online (Sandbox Code Playgroud)
将返回
[[1,2,3],[-1,-2,-3],[1,2,3],[-1,-2,-3]]
Run Code Online (Sandbox Code Playgroud)
但是,如果我:
import itertools
nums = [1,2,3, -1,-2,-3, 1,2,3, -1,-2,-3]
group_list = list(itertools.groupby(nums, key=lambda x: x>=0))
print(group_list)
for k, v in group_list:
print(list(v))
>>>
[]
[-3]
[]
[]
Run Code Online (Sandbox Code Playgroud)
但是,如果我没有list()groupby对象,它将可以正常工作:
nums = [1,2,3, -1,-2,-3, 1,2,3, -1,-2,-3]
group_list = itertools.groupby(nums, key=lambda x: x>=0)
for k, v in group_list:
print(list(v))
>>>
[1, 2, 3]
[-1, -2, -3]
[1, 2, 3]
[-1, -2, -3]
Run Code Online (Sandbox Code Playgroud)
我不明白的是,groupby对象是由一对键和_grouper对象组成的迭代器,对list()groupby对象的调用不应该消耗该_grouper对象吗?
即使消耗掉了,我又如何[-3]从第二个元素中得到呢?
我有一些字典:
my_list = [
{'name': 'AAA', 'date': '2018-05-14', 'price': 20.0},
{'name': 'AAA', 'date': '2018-05-15', 'price': 22.0},
{'name': 'AAA', 'date': '2018-05-16', 'price': 30.0},
{'name': 'BBB', 'date': '2018-05-14', 'price': 15.0},
{'name': 'BBB', 'date': '2018-05-15', 'price': 32.0}
]
Run Code Online (Sandbox Code Playgroud)
我的问题是如何遍历该列表以生成这种格式的列表?
parsed_list = [
{'name': 'AAA', 'data': [['2018-05-14', 20.0], ['2018-05-15', 22.0], ['2018-05-16', 30.0]]},
{'name': 'BBB', 'data': [['2018-05-14', 15.0], ['2018-05-15', 32.0]]}
]
Run Code Online (Sandbox Code Playgroud)
我尝试了此问题中描述的方法:Python:将字典中的列表项分组, 但是我需要不同的输出格式,因此我无法弄清楚需要更改的内容。
我有这个数组:
Array (
[061716v] => 1
[061610A] => 1
[062433AP] => 1
[063868M] => 2
[059173V] => 3
[061579A] => 3
[062404AP] => 3
[059179V] => 4
[061582A] => 4
[061697V] => 4
[062407AP] => 4
)
Run Code Online (Sandbox Code Playgroud)
我怎么能得到这个:
Array (
[1] => 061716v,061610A,062433AP
[2] => 063868M
[3] => 059173V,061579A,062404AP
[4] => 059179V,061582A,061697V,062407AP
)
Run Code Online (Sandbox Code Playgroud) grouping ×10
r ×3
dictionary ×2
python ×2
aggregate ×1
arrays ×1
c# ×1
collectors ×1
count ×1
iterator ×1
java-8 ×1
java-stream ×1
key ×1
list ×1
matlab ×1
php ×1
stringdist ×1
xml ×1
xslt ×1
xslt-2.0 ×1