下面是一个示例数据帧:
label data
a 1.09
b 2.1
a 5.0
b 2.0
c 1.9
我想要的是
arr = [[1.09, 5.0], [2.1, 2.0],[1.9]]
最好作为Numpy数组的列表。
我知道df.groupby.groups.keys()
给了我列表['a'、'b'、'c']
,而df.groupby.groups.values()
给了我类似于arr
的东西,但作为Int64Index
对象。但是,我尝试了df.loc[df.groupby.groups.values()][label']
,但没有得到预期的结果。
我该如何实现这一点?谢谢!
最好作为Numpy数组的列表。
最好不要,因为您要求的是粗糙的数组,这意味着内部数组(又名行)的长度并不完全相同。这对Numpy来说是不方便的,这意味着它不能在内部将这些数组有效地存储为C数组。它最终回落到缓慢的python对象。
在这种情况下,我建议使用嵌套的python列表。这可以通过groupby
apply
实现。
lst = df.groupby('label')['data'].apply(pd.Series.tolist).tolist()
print(lst)
[[1.09, 5.0], [2.1, 2.0], [1.9]]
通过使用Java8流: 从性能上看,哪个更好?
问题内容: 我有一个这样的清单: 并在这样的对象上: 如何将“列表”分配给“ myMatrix”? 我不想遍历列表并将元素逐个分配给MyMatrix,但我想尽可能地直接分配它(使用oppurtune修改)。谢谢 问题答案: 您可以使用。 Java文档
问题内容: 我使用一个外部模块(libsvm),该模块不支持numpy数组,仅支持元组,列表和字典。但是我的数据是二维二维数组。我如何以pythonic方式转换它,也就是没有循环。 问题答案: 您可以简单地将矩阵转换为,以证明:
我得到一个json数组从服务器: 我想使用gson将上述json数据转换为Java
有人能向我解释下一行代码会发生什么以及它为什么有效吗? 上面的代码工作正常。它将数组转换为列表,然后添加另一个元素。但是下面的代码不起作用 上面的代码给了我以下错误:线程“main”java.lang.UnsupportedOperationException有人能告诉我这两个转换之间的区别吗?为什么只有第一个转换有效??提前谢谢
问题内容: 我如何转换 至 问题答案: 使用简单的列表理解: 会给你: