TenFrame introduction#
TenFrame is 1010data’s pandas-like solution for querying 1010data tables.
TenFrame is a Python package built on top of the 1010data Python SDK (py1010).
If you are a developer already familiar with the Python pandas library, TenFrame offers a similar framework for querying large 1010data tables. Pandas is a popular framework for data analysis, but it can only handle a finite amount of data at once. 1010data, on the other hand, is able to perform queries on very large datasets (millions or even billions of rows) and extract meaning from that data. TenFrame allows you to use tools similar to the ones you are familiar with to harness the power of 1010data.
The main objects in TenFrame are the TenFrame object and the TenSeries object. The TenFrame object is two dimensions (columns and rows), while the TenSeries object is one dimension. They mimic their pandas counterparts as much as possible, but behind the scenes they take advantage of 1010data’s powerful query language.
The TenFrame object#
The TenFrame object in TenFrame is the equivalent of the DataFrame object in pandas, but the TenFrame only pretends to be a DataFrame. In reality, the TenFrame class is a wrapper around a 1010data query. This way, you do not need to know the 1010data query language in order to perform analysis on very large tables.
TenFrame does not attempt to perform a query until you actually try to access some computed data.
For example, the following TenFrame code does not perform the computation of col1*col2
:
frame['new'] = frame.col1 * frame.col2
This code tells the server that there is to be a column named 'new'
that is a computed column of col1 * col2
. The server computes the column only when the user needs to access the data. To access the data, TenFrame uses a py1010 Query
object to send requests over to the 1010data server, but only when needed. Py1010 performs other transactions with the 1010data servers, including logging in and out. For these reasons, some familiarity with py1010 is helpful.
For more information about py1010 transactions, see the 1010data Python SDK User’s Guide. It is not necessary to know the 1010data query language to use TenFrame, but it can be useful. If you would like a deeper understanding of the 1010data query language (Macro Language), refer to the 1010data Reference Manual.
The TenSeries object#
Unlike a Series
panda object, the TenSeries
object doesn’t contain any data on its own. The TenSeries is not much more than a column name and a reference to a TenFrame. The TenSeries must always be associated with a TenFrame. You usually get a TenSeries by subsetting a TenFrame.
Contents#
- Installing TenFrame
- Quick start
- Basic usage
- Opening a table
- Getting basic table statistics
- Subsetting rows
- Subsetting columns
- Computing new columns
- Manipulating dates and times
- Aggregating data
- Adjoining aggregations
- Creating pivot tables
- Joining TenFrames
- Concatenating TenFrames
- Using group functions (g_functions)
- Creating charts in TenFrame
- Jupyter Notebook Examples
- MBS examples
- Retail analysis examples
- Example 1: Sales data rows
- Example 2: Sales data overview
- Example 3: Sales data detail
- Example 4: Count of transactions by date
- Example 5: Total sales by date
- Example 6: Transactions, total sales, and sales per transaction, by customer
- Charting examples
- Chart 1: Bar chart on total sales by gender
- Chart 2: Histogram on total sales by age
- Chart 3: Bar chart on number of transactions by age group
- Chart 4: Bar chart on total sales by age group
- Chart 5: Line graph of total sales by date
- Chart 6: Histogram of total sales by date
- Chart 7: Comparison of total sales of two stores
- Reference sheet
- Libraries
- tenFrame Reference Documentation
- tenFrame: 1010data queries with a Pandas-like interface
- Module-level Functions
- Classes
TenFrame
TenFrame.Plotter
TenFrame.TFLib
TenFrame.Param()
TenFrame.__bool__()
TenFrame.__contains__()
TenFrame.__getitem__()
TenFrame.__iter__()
TenFrame.__setitem__()
TenFrame.addOp()
TenFrame.addcode()
TenFrame.addparam()
TenFrame.agg()
TenFrame.aggregate()
TenFrame.apply()
TenFrame.apply_columnparams()
TenFrame.assign()
TenFrame.basic_agg()
TenFrame.bestguesscols()
TenFrame.c0colname()
TenFrame.call()
TenFrame.can_tabulate()
TenFrame.clear_library()
TenFrame.cnt()
TenFrame.colUsages()
TenFrame.compatible()
TenFrame.concat()
TenFrame.consolidate()
TenFrame.copy()
TenFrame.cumcnt()
TenFrame.deepcopy()
TenFrame.defFun()
TenFrame.defGfun()
TenFrame.defUfun()
TenFrame.def_fun()
TenFrame.def_gfun()
TenFrame.def_ufun()
TenFrame.describe()
TenFrame.dict2table()
TenFrame.dict2table_XML()
TenFrame.dictslice()
TenFrame.dist_apply()
TenFrame.distribute()
TenFrame.drop()
TenFrame.dropColumns()
TenFrame.dropna()
TenFrame.equals()
TenFrame.eval()
TenFrame.extends()
TenFrame.extractXML()
TenFrame.fillna()
TenFrame.filter()
TenFrame.first1()
TenFrame.get_dependencies()
TenFrame.groupby()
TenFrame.growOps()
TenFrame.head()
TenFrame.info()
TenFrame.isna()
TenFrame.isnull()
TenFrame.last1()
TenFrame.libraryXML()
TenFrame.localpipe()
TenFrame.melt()
TenFrame.merge()
TenFrame.meta()
TenFrame.newcolname()
TenFrame.notna()
TenFrame.notnull()
TenFrame.numsegs()
TenFrame.online()
TenFrame.open_table()
TenFrame.pipe()
TenFrame.pivot_table()
TenFrame.prefiltered()
TenFrame.prettyXML()
TenFrame.prettyprintXML()
TenFrame.printprettyXML()
TenFrame.query()
TenFrame.randcolname()
TenFrame.refreshquery()
TenFrame.renameColumn()
TenFrame.replace()
TenFrame.resetbreaks()
TenFrame.resource()
TenFrame.run()
TenFrame.sample()
TenFrame.save()
TenFrame.searchOps()
TenFrame.segby()
TenFrame.segbybreaks()
TenFrame.setbreaks()
TenFrame.slice()
TenFrame.sort_values()
TenFrame.tableMetadata()
TenFrame.tabu()
TenFrame.tail()
TenFrame.to_df()
TenFrame.transpose()
TenFrame.trimCols()
TenFrame.weighted_agg()
TenFrame.weighted_agg_1()
TenFrame.where()
TenFrame.wide_to_long()
TenFrame.T
TenFrame.cols
TenFrame.columns
TenFrame.empty
TenFrame.firstCol
TenFrame.iloc
TenFrame.lastCol
TenFrame.ndim
TenFrame.offlinecols
TenFrame.shape
TenFrame.size
TenFrame.table
TenSeries
TenSeries.DateProps
TenSeries.DateProps.day_name()
TenSeries.DateProps.first_of_month()
TenSeries.DateProps.first_of_quarter()
TenSeries.DateProps.first_of_year()
TenSeries.DateProps.last_of_month()
TenSeries.DateProps.last_of_quarter()
TenSeries.DateProps.last_of_year()
TenSeries.DateProps.month_name()
TenSeries.DateProps.normalize()
TenSeries.DateProps.date
TenSeries.DateProps.day
TenSeries.DateProps.day_of_week
TenSeries.DateProps.day_of_year
TenSeries.DateProps.dayofweek
TenSeries.DateProps.dayofyear
TenSeries.DateProps.days_in_month
TenSeries.DateProps.daysinmonth
TenSeries.DateProps.hour
TenSeries.DateProps.is_leap_year
TenSeries.DateProps.is_month_end
TenSeries.DateProps.is_month_start
TenSeries.DateProps.is_quarter_end
TenSeries.DateProps.is_quarter_start
TenSeries.DateProps.is_year_end
TenSeries.DateProps.is_year_start
TenSeries.DateProps.minute
TenSeries.DateProps.month
TenSeries.DateProps.quarter
TenSeries.DateProps.second
TenSeries.DateProps.time
TenSeries.DateProps.week
TenSeries.DateProps.weekday
TenSeries.DateProps.weekofyear
TenSeries.DateProps.year
TenSeries.SeriesSmartFuncs
TenSeries.StrFuncs
TenSeries.StrFuncs.capitalize()
TenSeries.StrFuncs.contains()
TenSeries.StrFuncs.contains1010()
TenSeries.StrFuncs.count()
TenSeries.StrFuncs.endswith()
TenSeries.StrFuncs.find()
TenSeries.StrFuncs.fullmatch()
TenSeries.StrFuncs.get()
TenSeries.StrFuncs.index()
TenSeries.StrFuncs.len()
TenSeries.StrFuncs.lower()
TenSeries.StrFuncs.lstrip()
TenSeries.StrFuncs.match()
TenSeries.StrFuncs.pad()
TenSeries.StrFuncs.removeprefix()
TenSeries.StrFuncs.removesuffix()
TenSeries.StrFuncs.repeat()
TenSeries.StrFuncs.rstrip()
TenSeries.StrFuncs.startswith()
TenSeries.StrFuncs.strip()
TenSeries.StrFuncs.upper()
TenSeries.__abs__()
TenSeries.__add__()
TenSeries.__and__()
TenSeries.__bool__()
TenSeries.__call__()
TenSeries.__ceil__()
TenSeries.__eq__()
TenSeries.__float__()
TenSeries.__floor__()
TenSeries.__floordiv__()
TenSeries.__ge__()
TenSeries.__getattr__()
TenSeries.__getitem__()
TenSeries.__gt__()
TenSeries.__int__()
TenSeries.__invert__()
TenSeries.__iter__()
TenSeries.__le__()
TenSeries.__len__()
TenSeries.__lt__()
TenSeries.__mul__()
TenSeries.__ne__()
TenSeries.__neg__()
TenSeries.__nonzero__()
TenSeries.__or__()
TenSeries.__pow__()
TenSeries.__radd__()
TenSeries.__rand__()
TenSeries.__repr__()
TenSeries.__rfloordiv__()
TenSeries.__rmul__()
TenSeries.__ror__()
TenSeries.__round__()
TenSeries.__rpow__()
TenSeries.__rsub__()
TenSeries.__rtruediv__()
TenSeries.__sub__()
TenSeries.__truediv__()
TenSeries.astype()
TenSeries.basic_agg()
TenSeries.clip()
TenSeries.colexp()
TenSeries.colname()
TenSeries.comparison()
TenSeries.copy()
TenSeries.cut()
TenSeries.expanding()
TenSeries.fillna()
TenSeries.getIndexedItem()
TenSeries.gfunction()
TenSeries.groupby()
TenSeries.head()
TenSeries.hist()
TenSeries.info()
TenSeries.is_used()
TenSeries.isin()
TenSeries.isna()
TenSeries.isnull()
TenSeries.map()
TenSeries.nlargest()
TenSeries.notna()
TenSeries.notnull()
TenSeries.nsmallest()
TenSeries.online()
TenSeries.qcut()
TenSeries.rename()
TenSeries.replace()
TenSeries.rolling()
TenSeries.shift()
TenSeries.slice()
TenSeries.sort_values()
TenSeries.ufunction()
TenSeries.unique()
TenSeries.usages()
TenSeries.value_counts()
TenSeries.weighted_agg()
TenSeries.where()
TenSeries.breaks
TenSeries.column
TenSeries.ndim
TenSeries.plot
TenSeries.temporary
TenSeries.type
Library
Op
that
func
- tenFrame Reference Documentation
- Changelog