The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
How to copy attribute columns into new example set with the script operator
Dear community,
As a part of a larger script I am trying to copy selected attribute columns to a new example set.
Source example set:
label att1 att2
1 a 1x
2 b 1y
3 c 1z
Target shall look like this (att2 copied from source):
att2
1x
1y
1z
My script looks currently like this:
import com.rapidminer.tools.Ontology;
exampleSet sourceTable = input[ 0 ];
exampleSet targetSet = new ExampleSet();
targetSet.addAttribute(sourceTable.getAttribute("att2"));
return targetSet;
Looking forward to any feedback...
PS: There are likely various ways to get from the original example set to the target one. But context of my whole script I am looking especially for a way to copy an attribute column.
PPS: By the way, is there any chance to access the values of macros in a script?
Best regards
Sachs
<?xml version="1.0" encoding="UTF-8"?><process version="7.5.000">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.5.000" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="generate_data" compatibility="7.5.000" expanded="true" height="68" name="Generate Data" width="90" x="45" y="34"/>
<operator activated="true" class="execute_script" compatibility="7.5.000" expanded="true" height="82" name="Execute Script" width="90" x="179" y="34">
<parameter key="script" value="import com.rapidminer.tools.Ontology; exampleSet sourceTable = input[ 0 ]; exampleSet targetSet = new ExampleSet(); targetSet.addAttribute(sourceTable.getAttribute("att2")); return targetSet;"/>
</operator>
<connect from_op="Generate Data" from_port="output" to_op="Execute Script" to_port="input 1"/>
<connect from_op="Execute Script" from_port="output 1" to_port="result 1"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
</process>
</operator>
</process>
0
Answers
you can use select attribute operator and change the attribute type with regular expression and fill the regular expression with the name of your attribute that you want
Hi binsetyawan,
Thank you for contributing. The point is that this is only a small excerpt from the whole script and I would like to handle this part within the script, too.
Kind regards
Sachs