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
Remove dollar sign from nominal currency value?
Hi. I have a nominal attribute containing a currency value including a dollar sign (e.g. $1.23). I would like to convert this attribute to a simple Numerical value without the dollar sign (e.g. 1.23) to use in subsequent calculations.
What is the easiest way to do this conversion in Rapidminer? I was trying to remove the "$" from the text string before parsing the number, but I'm presuming there has to be a simpler way to do this conversion.............................?
Any tips would be appreciated, thanks.
Tim
0
Best Answer
-
yyhuang Administrator, Employee-RapidMiner, RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 364 RM Data Scientist
Hi Tmyers,
The sample process is here
<?xml version="1.0" encoding="UTF-8"?><process version="7.3.000">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.3.000" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="generate_sales_data" compatibility="7.3.000" expanded="true" height="68" name="Generate Sales Data" width="90" x="112" y="34">
<parameter key="number_examples" value="10"/>
</operator>
<operator activated="true" class="numerical_to_polynominal" compatibility="7.3.000" expanded="true" height="82" name="Numerical to Polynominal" width="90" x="246" y="34">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="single_price"/>
</operator>
<operator activated="true" breakpoints="after" class="generate_attributes" compatibility="7.3.000" expanded="true" height="82" name="Generate Attributes" width="90" x="380" y="34">
<list key="function_descriptions">
<parameter key="single_price_with_dollar" value="concat("$",single_price)"/>
</list>
<description align="center" color="transparent" colored="false" width="126">Put '$' in front of single price</description>
</operator>
<operator activated="true" class="replace" compatibility="7.3.000" expanded="true" height="82" name="Replace" width="90" x="514" y="34">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="single_price_with_dollar"/>
<parameter key="replace_what" value="\$"/>
<description align="center" color="transparent" colored="false" width="126">Get rid of '$' sign</description>
</operator>
<operator activated="true" class="parse_numbers" compatibility="7.3.000" expanded="true" height="82" name="Parse Numbers" width="90" x="648" y="34">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="single_price_with_dollar"/>
</operator>
<connect from_op="Generate Sales Data" from_port="output" to_op="Numerical to Polynominal" to_port="example set input"/>
<connect from_op="Numerical to Polynominal" from_port="example set output" to_op="Generate Attributes" to_port="example set input"/>
<connect from_op="Generate Attributes" from_port="example set output" to_op="Replace" to_port="example set input"/>
<connect from_op="Replace" from_port="example set output" to_op="Parse Numbers" to_port="example set input"/>
<connect from_op="Parse Numbers" from_port="example set output" 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>HTH,
YY
0
Answers
Oh there's a few ways to do that. The easiest is probably to do a Replace (to get rid of $) followed by Parse Numbers. I would probably do it in a Generate Attributes expression which I can show you if you want.
Scott