com.rapidminer.operator.preprocessing.filter
Class Nominal2Date
java.lang.Object
com.rapidminer.tools.AbstractObservable<Operator>
com.rapidminer.operator.Operator
com.rapidminer.operator.AbstractExampleSetProcessing
com.rapidminer.operator.preprocessing.AbstractDataProcessing
com.rapidminer.operator.preprocessing.filter.AbstractDateDataProcessing
com.rapidminer.operator.preprocessing.filter.Nominal2Date
- All Implemented Interfaces:
- ConfigurationListener, PreviewListener, ResourceConsumer, ParameterHandler, LoggingHandler, Observable<Operator>
public class Nominal2Date
- extends AbstractDateDataProcessing
This operator parses given nominal attributes in order to create date and / or time attributes. The date format can
be specified by the date_format parameter. The old nominal attribute will be removed and replaced by a new date
attribute if the corresponding parameter is not set (default).
Date and Time Patterns
Date and time formats are specified by date and time pattern strings in the date_format parameter. Within
date and time pattern strings, unquoted letters from 'A' to 'Z' and from 'a'
to 'z' are interpreted as pattern letters representing the components of a date or time string. Text can
be quoted using single quotes (') to avoid interpretation. "''" represents a single quote. All
other characters are not interpreted; they're simply copied into the output string during formatting or matched
against the input string during parsing.
The following pattern letters are defined (all other characters from 'A' to 'Z' and from
'a' to 'z' are reserved):
- G: era designator; Text; example: AD
- y: year; Year; example: 1996; 96
- M: month in year; Month; example: July; Jul; 07
- w: week in year; Number; example: 27
- W: week in month; Number; example: 2
- D: day in year; Number; example: 189
- d: day in month; Number; example: 10
- F: day of week in month; Number; example: 2
- E: day in week; Text; example: Tuesday; Tue
- a: am/pm marker; Text; example: PM
- H: hour in day (0-23); Number; example: 0
- k: hour in day (1-24); Number; example: 24
- K: hour in am / pm (0-11); Number; example: 0
- h: hour in am / pm (1-12); Number; example: 12
- m: minute in hour; Number; example: 30
- s: second in minute; Number; example: 55
- S: millisecond; Number; example: 978
- z: time zone; General Time Zone; example: Pacific Standard Time; PST; GMT-08:00
- Z: time zone; RFC 822 Time Zone; example: -0800
Pattern letters are usually repeated, as their number determines the exact presentation:
- Text: For formatting, if the number of pattern letters is 4 or more, the full form is used; otherwise a
short or abbreviated form is used if available. For parsing, both forms are accepted, independent of the number of
pattern letters.
- Number: For formatting, the number of pattern letters is the minimum number of digits, and shorter
numbers are zero-padded to this amount. For parsing, the number of pattern letters is ignored unless it's needed to
separate two adjacent fields.
- Year: If the underlying calendar is the Gregorian calendar, the following rules are applied.
- For formatting, if the number of pattern letters is 2, the year is truncated to 2 digits; otherwise it is
interpreted as a number.
- For parsing, if the number of pattern letters is more than 2, the year is interpreted literally, regardless of
the number of digits. So using the pattern "MM/dd/yyyy", "01/11/12" parses to Jan 11, 12 A.D.
- For parsing with the abbreviated year pattern ("y" or "yy"), this operator must interpret the abbreviated year
relative to some century. It does this by adjusting dates to be within 80 years before and 20 years after the time
the operator is created. For example, using a pattern of "MM/dd/yy" and the operator created on Jan 1, 1997, the
string "01/11/12" would be interpreted as Jan 11, 2012 while the string "05/04/64" would be
interpreted as May 4, 1964. During parsing, only strings consisting of exactly two digits will be parsed into the
default century. Any other numeric string, such as a one digit string, a three or more digit string, or a two digit
string that isn't all digits (for example, "-1"), is interpreted literally. So "01/02/3" or
"01/02/003" are parsed, using the same pattern, as Jan 2, 3 AD. Likewise, "01/02/-3" is parsed as
Jan 2, 4 BC.
Otherwise, calendar system specific forms are applied. If the number of pattern letters is 4 or more, a calendar
specific long form is used. Otherwise, a calendar short or abbreviated form is used.
- Month: If the number of pattern letters is 3 or more, the month is interpreted as text;
otherwise, it is interpreted as a number.
- General time zone: Time zones are interpreted as text if they have names. It is possible to
define time zones by representing a GMT offset value. RFC 822 time zones are also accepted.
- RFC 822 time zone: For formatting, the RFC 822 4-digit time zone format is used. General time zones are
also accepted.
This operator also supports localized date and time
pattern strings by defining the locale parameter. In these strings, the pattern letters described above may be
replaced with other, locale dependent, pattern letters.
Examples
The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time
are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone.
- "yyyy.MM.dd G 'at' HH:mm:ss z": 2001.07.04 AD at 12:08:56 PDT
- "EEE, MMM d, ''yy": Wed, Jul 4, '01
- "h:mm a": 12:08 PM
- "hh 'o''clock' a, zzzz": 12 o'clock PM, Pacific Daylight Time
- "K:mm a, z": 0:08 PM, PDT
- "yyyy.MMMMM.dd GGG hh:mm aaa": 02001.July.04 AD 12:08 PM
- "EEE, d MMM yyyy HH:mm:ss Z": Wed, 4 Jul 2001 12:08:56 -0700
- "yyMMddHHmmssZ": 010704120856-0700
- "yyyy-MM-dd'T'HH:mm:ss.SSSZ": 2001-07-04T12:08:56.235-0700
- Author:
- Ingo Mierswa
| Fields inherited from class com.rapidminer.operator.preprocessing.filter.AbstractDateDataProcessing |
availableLocaleNames, availableLocales, DAY, DAY_RELATIVE_TO_EPOCH, DAY_RELATIVE_TO_MONTH, DAY_RELATIVE_TO_WEEK, DAY_RELATIVE_TO_YEAR, defaultLocale, HALF_YEAR, HALF_YEAR_RELATIVE_TO_EPOCH, HALF_YEAR_RELATIVE_TO_YEAR, HOUR, HOUR_RELATIVE_TO_DAY, HOUR_RELATIVE_TO_EPOCH, MILLISECOND, MILLISECOND_RELATIVE_TO_EPOCH, MILLISECOND_RELATIVE_TO_SECOND, MINUTE, MINUTE_RELATIVE_TO_DAY, MINUTE_RELATIVE_TO_EPOCH, MINUTE_RELATIVE_TO_HOUR, MONTH, MONTH_RELATIVE_TO_EPOCH, MONTH_RELATIVE_TO_QUARTER, MONTH_RELATIVE_TO_YEAR, PARAMETERS_RELATIVE_TO, QUARTER, QUARTER_RELATIVE_TO_EPOCH, QUARTER_RELATIVE_TO_YEAR, RELATIVE_TO_DEFAULTS, RELATIVE_TO_MODES, SECOND, SECOND_RELATIVE_TO_DAY, SECOND_RELATIVE_TO_EPOCH, SECOND_RELATIVE_TO_HOUR, SECOND_RELATIVE_TO_MINUTE, TIME_UNITS, WEEK, WEEK_RELATIVE_TO_EPOCH, WEEK_RELATIVE_TO_MONTH, WEEK_RELATIVE_TO_YEAR, YEAR, YEAR_RELATIVE_TO_EPOCH, YEAR_RELATIVE_TO_ERA |
| Methods inherited from class com.rapidminer.operator.Operator |
acceptsInput, addError, addError, addValue, addWarning, apply, apply, assumePreconditionsSatisfied, checkAll, checkAllExcludingMetaData, checkDeprecations, checkForStop, checkIO, checkProperties, clear, clearErrorList, cloneOperator, collectErrors, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, freeMemory, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isEnabled, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, lookupOperator, makeDirty, makeDirtyOnUpdate, notifyRenaming, performAdditionalChecks, preAutoWire, processFinished, processStarts, producesOutput, propagateDirtyness, register, registerOperator, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, unregisterOperator, updateExecutionOrder, walk, writeXML, writeXML |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PARAMETER_ATTRIBUTE_NAME
public static final java.lang.String PARAMETER_ATTRIBUTE_NAME
- See Also:
- Constant Field Values
PARAMETER_DATE_TYPE
public static final java.lang.String PARAMETER_DATE_TYPE
- See Also:
- Constant Field Values
PARAMETER_DATE_FORMAT
public static final java.lang.String PARAMETER_DATE_FORMAT
- See Also:
- Constant Field Values
PARAMETER_TIME_ZONE
public static final java.lang.String PARAMETER_TIME_ZONE
- See Also:
- Constant Field Values
PARAMETER_LOCALE
public static final java.lang.String PARAMETER_LOCALE
- See Also:
- Constant Field Values
PARAMETER_KEEP_OLD_ATTRIBUTE
public static final java.lang.String PARAMETER_KEEP_OLD_ATTRIBUTE
- See Also:
- Constant Field Values
VALUE_TYPES
public static final java.lang.String[] VALUE_TYPES
DATE
public static final int DATE
- See Also:
- Constant Field Values
TIME
public static final int TIME
- See Also:
- Constant Field Values
DATE_TIME
public static final int DATE_TIME
- See Also:
- Constant Field Values
Nominal2Date
public Nominal2Date(OperatorDescription description)
modifyMetaData
protected MetaData modifyMetaData(ExampleSetMetaData metaData)
throws UndefinedParameterError
- Description copied from class:
AbstractExampleSetProcessing
- Subclasses might override this method to define the meta data transformation performed by this operator.
- Overrides:
modifyMetaData in class AbstractExampleSetProcessing
- Throws:
UndefinedParameterError
apply
public ExampleSet apply(ExampleSet exampleSet)
throws OperatorException
- Description copied from class:
AbstractExampleSetProcessing
- Delegate for the apply method. The given ExampleSet is already a clone of the input example set so that changing
this examples set does not affect the original one. Subclasses should avoid cloning again unnecessarily.
- Specified by:
apply in class AbstractExampleSetProcessing
- Throws:
OperatorException
getParameterTypes
public java.util.List<ParameterType> getParameterTypes()
- Description copied from class:
Operator
- Returns a list of ParameterTypes describing the parameters of
this operator. The default implementation returns an empty list if no
input objects can be retained and special parameters for those input
objects which can be prevented from being consumed.
ATTENTION! This will create new parameterTypes. For calling already existing
parameter types use getParameters().getParameterTypes();
- Specified by:
getParameterTypes in interface ParameterHandler- Overrides:
getParameterTypes in class Operator
writesIntoExistingData
public boolean writesIntoExistingData()
- Description copied from class:
AbstractExampleSetProcessing
- This method indicates whether the operator will perform a write operation on a cell in an existing column of the example set's
ExampleTable. If yes, the
original example will be completely copied in memory if the original port is used.
- Specified by:
writesIntoExistingData in class AbstractExampleSetProcessing
getResourceConsumptionEstimator
public ResourceConsumptionEstimator getResourceConsumptionEstimator()
- Description copied from class:
Operator
- Subclasses can override this method if they are able to estimate the consumed resources
(CPU time and memory), based on their input. The default implementation returns null.
- Specified by:
getResourceConsumptionEstimator in interface ResourceConsumer- Overrides:
getResourceConsumptionEstimator in class Operator
Copyright © 2001-2009 by Rapid-I