Class Dataframe<K>
- java.lang.Object
-
- ubic.gemma.core.loader.util.anndata.Dataframe<K>
-
- Type Parameters:
K
- the type of index being used
- All Implemented Interfaces:
AutoCloseable
,Iterable<Dataframe.Column<K,?>>
public class Dataframe<K> extends Object implements Iterable<Dataframe.Column<K,?>>, AutoCloseable
Represents an AnnData dataframe.- Author:
- poirigui
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Dataframe.Column<K,T>
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
H5Dataset
getArrayColumn(String columnName)
Obtain an array column as a H5 dataset.CategoricalArray<?>
getCategoricalColumn(String columnName)
Obtain a categorical column.<T> CategoricalArray<T>
getCategoricalColumn(String columnName, Class<T> categoryType)
Obtain a categorical column.Dataframe.Column<K,?>
getColumn(String columnName)
Obtain a column, the element type is guessed as pergetColumnType(String)
<T> Dataframe.Column<K,T>
getColumn(String columnName, Class<T> clazz)
Obtain a column of the given element type.String
getColumnEncodingType(String columnName)
Obtain the encoding type of a column.List<String>
getColumns()
Obtain all the columns defined in the dataframe.Class<?>
getColumnType(String columnName)
Guess the type of a given column.Dataframe.Column<K,K>
getIndex()
Obtain the index column.String
getIndexColumn()
Obtain the name of the column used as an index.Boolean[]
getNullableBooleanArrayColumn(String columnName)
Obtain a nullable boolean array column.Integer[]
getNullableIntegerArrayColumn(String columnName)
Obtain a nullable integer array column.String[]
getStringArrayColumn(String columnName)
Obtain a string-array column.Iterator<Dataframe.Column<K,?>>
iterator()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
Dataframe
public Dataframe(H5Group group, @Nullable Class<K> indexClass)
Create a new dataframe from an H5 group.- Parameters:
group
- an H5 group that contains a datasetindexClass
- the type of index to use, or null to ignore. If left unset, indexing will not be possible viaDataframe.Column.get(Object)
.
-
-
Method Detail
-
getIndexColumn
public String getIndexColumn()
Obtain the name of the column used as an index.
-
getColumns
public List<String> getColumns()
Obtain all the columns defined in the dataframe.Unsupported encoding types are ignored.
-
getColumnEncodingType
public String getColumnEncodingType(String columnName)
Obtain the encoding type of a column.This is usually one of
string-array
,categorical
orarray
, but many other encodings are possible.
-
getIndex
public Dataframe.Column<K,K> getIndex()
Obtain the index column.
-
getColumn
public Dataframe.Column<K,?> getColumn(String columnName)
Obtain a column, the element type is guessed as pergetColumnType(String)
- See Also:
getColumnType(String)
,getColumn(String, Class)
-
getColumn
public <T> Dataframe.Column<K,T> getColumn(String columnName, Class<T> clazz)
Obtain a column of the given element type.
-
getArrayColumn
public H5Dataset getArrayColumn(String columnName)
Obtain an array column as a H5 dataset.
-
getCategoricalColumn
public <T> CategoricalArray<T> getCategoricalColumn(String columnName, Class<T> categoryType)
Obtain a categorical column.
-
getCategoricalColumn
public CategoricalArray<?> getCategoricalColumn(String columnName)
Obtain a categorical column.
-
getStringArrayColumn
public String[] getStringArrayColumn(String columnName)
Obtain a string-array column.
-
getNullableIntegerArrayColumn
public Integer[] getNullableIntegerArrayColumn(String columnName)
Obtain a nullable integer array column.
-
getNullableBooleanArrayColumn
public Boolean[] getNullableBooleanArrayColumn(String columnName)
Obtain a nullable boolean array column.
-
iterator
@Nonnull public Iterator<Dataframe.Column<K,?>> iterator()
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
-