如何修改 Incanter 数据集中的列?
我希望能够转换 incanter 数据集中的单个列,并将结果数据集保存到新的 (csv) 文件中。最简单的方法是什么?
本质上,我希望能够将函数映射到数据集中的列,并用此结果替换原始列。
I'd like to be able to transform an individual column in an incanter data set, and save the resulting data set to a new (csv) file. What is the simplest way to do that?
Essentially, I'd like to be able to map a function over a column in the data set, and replace the original column with this result.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以定义类似的内容:
并使用,因为
更改列名称只有一个问题 - 当我有空闲时间时,我会尝试修复它......
You can define something like:
and use as
there is only one problem with changing of column names - I'll try to fix it, when I'll have free time...
这是两个类似的函数,都是列名和顺序保留。
下面是一个说明差异的示例:
transform-rows
最适合简单转换,而transform-column
适用于一行的转换依赖于其他行的情况(例如标准化列时)。保存和加载 CSV 可以使用标准 Incanter 函数来完成,因此完整的示例如下所示:
Here are two similar functions, both column name and order preserving.
And here is an example illustrating the difference:
transform-rows
is best for simple transformations, where astransform-column
is for when the transformation for one row is dependent on other rows (such as when normalizing a column).Saving and loading CSV can be done with the standard Incanter functions, so a full example looks like:
再说一遍:也许您可以使用数据集的内部结构。
再次应该检查一下这是公共 API 的程度。
Again: maybe you can use the internal structure of the dataset.
Again it should be checked in how far this is public API.
注意:此解决方案需要 Incanter 1.5.3 或更高版本
对于那些可以使用最新版本的 Incanter...
添加列 & 添加-衍生-列 在 1.5.3 中添加到 Incanter (pull request)
来自文档:
add-column
”将具有给定值的列添加到数据集中。”
或者
或者您可以使用:
add-衍生-列
“此函数将一列添加到数据集中,该数据集是以下函数的函数
现有的列。如果没有提供数据集,$data(由
with-data 宏)将被使用。 f 应该是函数
from-columns,参数按该顺序。”
或
更完整的示例
NOTE: this solution requires Incanter 1.5.3 or greater
For those who can use recent versions of Incanter...
add-column & add-derived-column were added to Incanter in 1.5.3 (pull request)
From the docs:
add-column
"Adds a column, with given values, to a dataset."
or
Or you can use:
add-derived-column
"This function adds a column to a dataset that is a function of
existing columns. If no dataset is provided, $data (bound by the
with-data macro) will be used. f should be a function of the
from-columns, with arguments in that order."
or
a more complete example