我有以下ArrayList,
[Title,Data1,Data2,Data3]
[A,2,3,4]
[B,3,5,7]
我想这样转换
[Title,A,B]
[Data1,2,3]
[Data2,3,5]
[Data3,4,7]
我对这种方法感到困惑。任何提示将不胜感激。
谢谢。
这称为换位。以下代码片段可以满足您的需求:
import java.util.*;
public class ListTranspose {
public static void main(String[] args) {
Object[][] data = {
{ "Title", "Data1", "Data2", "Data3" },
{ "A", 2, 3, 4 },
{ "B", 3, 5, 7 },
};
List<List<Object>> table = new ArrayList<List<Object>>();
for (Object[] row : data) {
table.add(Arrays.asList(row));
}
System.out.println(table); // [[Title, Data1, Data2, Data3],
// [A, 2, 3, 4],
// [B, 3, 5, 7]]"
table = transpose(table);
System.out.println(table); // [[Title, A, B],
// [Data1, 2, 3],
// [Data2, 3, 5],
// [Data3, 4, 7]]
}
static <T> List<List<T>> transpose(List<List<T>> table) {
List<List<T>> ret = new ArrayList<List<T>>();
final int N = table.get(0).size();
for (int i = 0; i < N; i++) {
List<T> col = new ArrayList<T>();
for (List<T> row : table) {
col.add(row.get(i));
}
ret.add(col);
}
return ret;
}
}
问题内容: 我想转置HTML表格中的行和列,即将行作为列,将列作为行。 我可以用什么方式做到这一点? 范例: 如 问题答案: HTML: js:
问题内容: 这是我当前的mysql表的样子: 现在,我想返回基于星期几进行分组的结果集,如下所示: 这是我当前的查询。但它只返回每天的第一打。 有人可以帮我弄这个吗?谢谢迈克 问题答案: SQLFiddle演示 输出值
问题内容: 我不确定是否可以使用内置的PIG脚本完成此操作,或者我需要编写UDF代码。但实际上我有一个表,我只想在其中转置数据。 简单地说,给出: 我最终会得到: 关于如何实现此目标的任何建议? 问题答案: 用Pig不可能做到这一点,也没有任何意义。请记住,关系是一包元组,根据定义,不保证包中的元组具有任何特定顺序。您可以从开始 但是从Pig的角度来看,这与 这意味着“转置”定义不正确。以这种方式
我正在将SQL查询的结果写入Excel工作表,并尝试将行转换为列,但似乎无法让Pandas移动;Excel似乎存在某种难题。我看过: 如何在数据帧中切换列和行 在groupby之后,如何将dataframe中的行值转换为Python中的列标签? 在Python中将列转换为行 Python:将行转换为列标题 似乎都不起作用。 Excel表格: 请求:
问题内容: 如何将String [](数组)转换为Collection,例如ArrayList或HashSet? 问题答案: Arrays.asList()可以在这里解决问题。 要转换为Set,您可以执行以下操作
问题内容: 我有类似下表的内容: 我需要一个查询,它会给我这样的结果: 请注意,FieldName中的值不限于用户名,密码和电子邮件地址。它们可以是用户定义的任何东西。 有没有办法在SQL中做到这一点? 问题答案: MySQL不支持ANSI PIVOT / UNPIVOT语法,因此您可以使用: 如您所见,需要按值定义CASE语句。要使其动态化,您需要使用MySQL的Prepared Stateme