public class StringColumn extends AbstractColumn<String> implements CategoricalColumn<String>, StringFilters, StringMapFunctions, StringReduceUtils
Because the MISSING_VALUE for this column type is an empty string, there is little or no need for special handling of missing values in this class's methods.
DEFAULT_ARRAY_SIZE
Modifier and Type | Method and Description |
---|---|
StringColumn |
addAll(List<String> stringValues)
Add all the strings in the list to this column
|
StringColumn |
append(Column<String> column) |
Column<String> |
append(Column<String> column,
int row) |
StringColumn |
append(String value)
Added for naming consistency with all other columns
|
StringColumn |
appendCell(String object) |
StringColumn |
appendCell(String object,
AbstractColumnParser<?> parser) |
StringColumn |
appendMissing()
Appends a missing value appropriate to the column
|
StringColumn |
appendObj(Object obj) |
byte[] |
asBytes(int rowNumber)
Returns the contents of the cell at rowNumber as a byte[]
|
double[] |
asDoubleArray() |
DoubleColumn |
asDoubleColumn() |
List<String> |
asList()
Returns a List<String> representation of all the values in this column
|
String[] |
asObjectArray() |
Set<String> |
asSet() |
StringColumn |
asStringColumn() |
TextColumn |
asTextColumn() |
List<String> |
bottom(int n)
Returns the smallest ("bottom") n values in the column
|
int |
byteSize()
Returns the width of a cell in this column, in bytes.
|
void |
clear() |
int |
compare(String o1,
String o2) |
boolean |
contains(String aString)
Returns true if this column contains a cell with the given string, and false otherwise
|
StringColumn |
copy()
Returns a deep copy of the receiver
|
Table |
countByCategory() |
int |
countMissing()
Returns the count of missing values in this column
|
int |
countOccurrences(String value) |
int |
countUnique()
Returns the count of unique values in this column.
|
static StringColumn |
create(String name) |
static StringColumn |
create(String name,
int size) |
static StringColumn |
create(String name,
List<String> strings) |
static StringColumn |
create(String name,
String[] strings) |
StringColumn |
emptyCopy()
Returns a copy of the receiver with no data.
|
StringColumn |
emptyCopy(int rowSize)
Returns an empty copy of the receiver, with its internal storage initialized to the given row size.
|
StringColumn |
filter(Predicate<? super String> test)
Returns a new Column of the same type with only those rows satisfying the predicate
|
StringColumn |
first(int numRows) |
int |
firstIndexOf(String value) |
String |
get(int rowIndex)
Returns the value at rowIndex in this column.
|
double |
getDouble(int i) |
List<BooleanColumn> |
getDummies()
Returns a list of boolean columns suitable for use as dummy variables in, for example, regression analysis,
select a column of categorical data must be encoded as a list of columns, such that each column represents
a single category and indicates whether it is present (1) or not present (0)
|
StringColumnFormatter |
getPrintFormatter() |
String |
getString(int row)
Returns a string representation of the value at the given row.
|
String |
getUnformattedString(int row) |
StringColumn |
inRange(int start,
int end)
Returns a column containing the rows in this column beginning with start inclusive, and ending with end exclusive
|
boolean |
isEmpty()
Returns true if the column has no data
|
Selection |
isEqualTo(String string) |
Selection |
isIn(Collection<String> strings) |
Selection |
isIn(String... strings) |
boolean |
isMissing(int rowNumber) |
Selection |
isNotEqualTo(String string) |
Selection |
isNotIn(Collection<String> strings) |
Selection |
isNotIn(String... strings) |
Iterator<String> |
iterator() |
StringColumn |
lag(int n)
Returns a column of the same type and size as the receiver, containing the receivers values offset by n.
|
StringColumn |
last(int numRows) |
StringColumn |
lead(int n)
Returns a column of the same type as the receiver, containing the receivers values offset -n
For example if you lead a column containing 2, 3, 4 by 1, you get a column containing 3, 4, NA.
|
StringColumn |
map(Function<? super String,? extends String> fun)
Maps the function across all rows, appending the results to a new Column of the same type
|
StringColumn |
max(Column<String> other)
Returns a column containing the element-wise min between this column and other column
TODO(lwhite) Override in column subtypes for better performance
|
StringColumn |
min(Column<String> other)
Returns a column containing the element-wise min between this column and other column
TODO(lwhite) Override in column subtypes for better performance
|
StringColumn |
removeMissing() |
it.unimi.dsi.fastutil.ints.IntComparator |
rowComparator() |
StringColumn |
sampleN(int n)
Returns a column containing a random sample of the values in this column
|
StringColumn |
sampleX(double proportion)
Returns a table consisting of randomly selected values from this column.
|
Column<String> |
set(int row,
Column<String> column,
int sourceRow) |
StringColumn |
set(int rowIndex,
String stringValue) |
StringColumn |
set(Selection condition,
Column<String> other)
Updates this column where values matching the selection are replaced with the corresponding value
from the given column
|
StringColumn |
set(Selection rowSelection,
String newValue)
Conditionally update this column, replacing current values with newValue for all rows where the current value
matches the selection criteria
|
Column<String> |
setMissing(int i) |
StringColumn |
setName(String name)
Sets the columns name to the given string
|
void |
setPrintFormatter(StringColumnFormatter formatter) |
int |
size()
Returns the number of elements (a.k.a.
|
void |
sortAscending() |
void |
sortDescending() |
StringColumn |
sorted(Comparator<? super String> comp)
Returns a new Column of the same type sorted according to the provided Comparator
|
StringColumn |
subset(int[] rows) |
Table |
summary() |
List<String> |
top(int n)
Returns the largest ("top") n values in the column
|
StringColumn |
unique()
Returns a new Column containing all the unique values in this column
|
static boolean |
valueIsMissing(String string) |
StringColumn |
where(Selection selection) |
name, toString, type
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
containsString, endsWith, equalsIgnoreCase, equalsIgnoreCase, eval, eval, eval, eval, isAlpha, isAlphaNumeric, isEmptyString, isEqualTo, isLongerThan, isLowerCase, isMissing, isNotEqualTo, isNotMissing, isNumeric, isShorterThan, isUpperCase, lengthEquals, matchesRegex, startsWith, startsWith
abbreviate, commonPrefix, commonSuffix, concatenate, countTokens, distance, format, join, length, lowerCase, padEnd, padStart, parseInt, replaceAll, replaceAll, replaceFirst, substring, substring, tokenizeAndRemoveDuplicates, tokenizeAndSort, tokenizeAndSort, tokens, trim, uniqueTokens, upperCase
appendAll, appendAll
allMatch, anyMatch, columnWidth, count, count, mapInto, max, min, name, noneMatch, print, reduce, reduce, rolling, title, type
forEach, spliterator
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static boolean valueIsMissing(String string)
public StringColumn appendMissing()
Column
appendMissing
in interface Column<String>
public static StringColumn create(String name)
public static StringColumn create(String name, String[] strings)
public static StringColumn create(String name, List<String> strings)
public static StringColumn create(String name, int size)
public boolean isMissing(int rowNumber)
public void setPrintFormatter(StringColumnFormatter formatter)
public StringColumnFormatter getPrintFormatter()
public String getString(int row)
Column
public String getUnformattedString(int row)
getUnformattedString
in interface Column<String>
public StringColumn emptyCopy()
Column
public StringColumn emptyCopy(int rowSize)
Column
public void sortAscending()
sortAscending
in interface Column<String>
public void sortDescending()
sortDescending
in interface Column<String>
public int size()
public String get(int rowIndex)
get
in interface Column<String>
get
in interface StringFilters
rowIndex
- index of the rowIndexOutOfBoundsException
- if the given rowIndex is not in the columnpublic List<String> asList()
NOTE: Unless you really need a string consider using the column itself for large datasets as it uses much less memory
public Table countByCategory()
countByCategory
in interface CategoricalColumn<String>
public StringColumn lead(int n)
Column
public StringColumn lag(int n)
Column
For example if you lag a column containing 2, 3, 4 by 1, you get a column containing NA, 2, 3
public StringColumn set(Selection rowSelection, String newValue)
Examples: myCatColumn.set(myCatColumn.isEqualTo("Cat"), "Dog"); // no more cats myCatColumn.set(myCatColumn.valueIsMissing(), "Fox"); // no more missing values
public StringColumn set(int rowIndex, String stringValue)
public int countUnique()
Column
countUnique
in interface Column<String>
public List<String> top(int n)
n
- The maximum number of records to return. The actual number will be smaller if n is greater than the
number of observations in the columnpublic List<String> bottom(int n)
n
- The maximum number of records to return. The actual number will be smaller if n is greater than the
number of observations in the columnpublic boolean contains(String aString)
public Column<String> setMissing(int i)
setMissing
in interface Column<String>
public StringColumn addAll(List<String> stringValues)
stringValues
- a list of valuespublic StringColumn appendCell(String object)
appendCell
in interface Column<String>
public StringColumn appendCell(String object, AbstractColumnParser<?> parser)
appendCell
in interface Column<String>
public it.unimi.dsi.fastutil.ints.IntComparator rowComparator()
rowComparator
in interface Column<String>
public boolean isEmpty()
Column
public Selection isEqualTo(String string)
isEqualTo
in interface StringFilters
public Selection isNotEqualTo(String string)
isNotEqualTo
in interface StringFilters
public List<BooleanColumn> getDummies()
BooleanColumn
public StringColumn unique()
public DoubleColumn asDoubleColumn()
public StringColumn where(Selection selection)
public StringColumn copy()
Column
public StringColumn append(Column<String> column)
public int countMissing()
countMissing
in interface Column<String>
public StringColumn removeMissing()
removeMissing
in interface Column<String>
public int byteSize()
Column
public byte[] asBytes(int rowNumber)
public double getDouble(int i)
public double[] asDoubleArray()
public StringColumn append(String value)
public StringColumn appendObj(Object obj)
public Selection isIn(String... strings)
isIn
in interface StringFilters
public Selection isIn(Collection<String> strings)
isIn
in interface StringFilters
public Selection isNotIn(String... strings)
isNotIn
in interface StringFilters
public Selection isNotIn(Collection<String> strings)
isNotIn
in interface StringFilters
public int firstIndexOf(String value)
public int countOccurrences(String value)
public String[] asObjectArray()
asObjectArray
in interface Column<String>
public int compare(String o1, String o2)
compare
in interface Comparator<String>
public StringColumn setName(String name)
Column
public StringColumn filter(Predicate<? super String> test)
Column
public StringColumn subset(int[] rows)
public StringColumn sorted(Comparator<? super String> comp)
Column
public StringColumn map(Function<? super String,? extends String> fun)
Column
public StringColumn min(Column<String> other)
Column
public StringColumn max(Column<String> other)
Column
public StringColumn set(Selection condition, Column<String> other)
Column
public StringColumn first(int numRows)
public StringColumn last(int numRows)
public StringColumn inRange(int start, int end)
Column
public StringColumn sampleN(int n)
Column
public StringColumn sampleX(double proportion)
Column
public StringColumn asStringColumn()
asStringColumn
in interface Column<String>
asStringColumn
in class AbstractColumn<String>
public TextColumn asTextColumn()
Copyright © 2019. All rights reserved.