{ "info": { "author": "Jake VanderPlas", "author_email": "jakevdp@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.7" ], "description": "# altair-transform\n\nPython evaluation of Altair/Vega-Lite transforms.\n\n[![build status](http://img.shields.io/travis/altair-viz/altair-transform/master.svg?style=flat)](https://travis-ci.org/altair-viz/altair-transform)\n\n## Example\n\nThe Vega-Lite specification includes the ability to apply a\nwide range of transformations to input data within the chart\nspecification. As an example, here is a sliding window average\nof a Gaussian random walk, implemented in Altair:\n\n```python\nimport altair as alt\nimport numpy as np\nimport pandas as pd\n\nrand = np.random.RandomState(12345)\n\ndf = pd.DataFrame({\n 'x': np.arange(200),\n 'y': rand.randn(200).cumsum()\n})\n\npoints = alt.Chart(df).mark_point().encode(\n x='x:Q',\n y='y:Q'\n)\n\nline = alt.Chart(df).transform_window(\n ymean='mean(y)',\n sort=[alt.SortField('x')],\n frame=[5, 5]\n).mark_line(color='red').encode(\n x='x:Q',\n y='ymean:Q'\n)\n\npoints + line\n```\n![Altair Visualization](images/random_walk.png)\n\nBecause the transform is encoded within the renderer, however, it\nis not easy from Altair to access the computed values.\n\nThis is where ``altair_transform`` comes in. It includes a (nearly)\ncomplete Python implementation of Vega-Lite's transform layer, so\nthat you can easily extract a pandas dataframe with the computed\nvalues shown in the chart:\n\n```python\nfrom altair_transform import extract_data\ndata = extract_data(line)\ndata.head()\n```\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
xyymean
00-0.2047080.457749
110.2742360.771093
22-0.2452031.041320
33-0.8009331.336943
441.1648471.698085
\n\nFrom here, you can work with the transformed data directly\nin Python.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "http://github.com/altair-viz/altair-transform/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/altair-viz/altair-transform/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "altair-transform", "package_url": "https://pypi.org/project/altair-transform/", "platform": "", "project_url": "https://pypi.org/project/altair-transform/", "project_urls": { "Download": "http://github.com/altair-viz/altair-transform/", "Homepage": "http://github.com/altair-viz/altair-transform/" }, "release_url": "https://pypi.org/project/altair-transform/0.1.0/", "requires_dist": [ "ply", "altair (>=3.0)", "numpy", "pandas" ], "requires_python": ">=3.7", "summary": "A python engine for evaluating Altair transforms.", "version": "0.1.0" }, "last_serial": 5554381, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b90571579f10d6dc8a153c9ff83d3cb9", "sha256": "0f861a864aceaf8347e197bddedb7343e5300064305e28ed8f5cc4ef57755a51" }, "downloads": -1, "filename": "altair_transform-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b90571579f10d6dc8a153c9ff83d3cb9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 34392, "upload_time": "2019-07-19T03:24:58", "url": "https://files.pythonhosted.org/packages/d5/76/d45712f332c0cc0a1853195972fd92a82d37369986bdda9992b0a0e9c5a8/altair_transform-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f263ae04969647ef4937f80cab10dd33", "sha256": "6d910832091aee289e8582c168e37794f62076bcea6d9333aa4a919cad0c8c37" }, "downloads": -1, "filename": "altair_transform-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f263ae04969647ef4937f80cab10dd33", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 27551, "upload_time": "2019-07-19T03:25:00", "url": "https://files.pythonhosted.org/packages/15/37/d8135fc0600c3c7e9768d22eda145ced7f9fbea8f34fb157f9a0555e4f5f/altair_transform-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b90571579f10d6dc8a153c9ff83d3cb9", "sha256": "0f861a864aceaf8347e197bddedb7343e5300064305e28ed8f5cc4ef57755a51" }, "downloads": -1, "filename": "altair_transform-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b90571579f10d6dc8a153c9ff83d3cb9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 34392, "upload_time": "2019-07-19T03:24:58", "url": "https://files.pythonhosted.org/packages/d5/76/d45712f332c0cc0a1853195972fd92a82d37369986bdda9992b0a0e9c5a8/altair_transform-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f263ae04969647ef4937f80cab10dd33", "sha256": "6d910832091aee289e8582c168e37794f62076bcea6d9333aa4a919cad0c8c37" }, "downloads": -1, "filename": "altair_transform-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f263ae04969647ef4937f80cab10dd33", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 27551, "upload_time": "2019-07-19T03:25:00", "url": "https://files.pythonhosted.org/packages/15/37/d8135fc0600c3c7e9768d22eda145ced7f9fbea8f34fb157f9a0555e4f5f/altair_transform-0.1.0.tar.gz" } ] }