{ "info": { "author": "Nicholas Lawrence", "author_email": "nickclawrence@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\n==================================================================\n``pandas-refract``: Convenient dataframe fragmentation functions\n==================================================================\n\n**pandas-refract** is an MIT licensed Python package with a simple function that allows users to divide their \ndataframes by the 'Truthy' and 'Falseyness' of a provided array.\n\nBecause this library deals with splitting dataframes by its values, it uses imagery of light - refract and disperse, like light entering a prism.\nEventually, the goal of this package is additional features to the Pandas library that allows users to .pop rows\nfrom a dataframe where a condition is met, etc. As far as I can tell this is not possible like the below example.\n\nIdeal case would be::\n\n target_df = df.pop(df['target_column'] == 'target_value')\n non_target_df = df\n\nWhat is required now is::\n\n target_df = df[df['target_column'] == 'target_value'] \n non_target_df = df[df['target_column'] != 'target_value']\n\nWith pandas-refract this becomes::\n\n target_df, non_target_df = refract(df, df['target_column'] == 'target_value']]\n\n\nObviously, this package is not providing anything not currently possible in the current Pandas library. It does,\nhowever, add a layer of convenience for more complex slicing where you need to separate, not remove, rows by conditions.\n\n\nExamples\n========\n\nSimplest example of current Pandas requires::\n\n df1 = df[df.column.notnull()].reset_index(drop=True)\n df2 = df[df.column.isnull()].reset_index(drop=True)\n\nor::\n\n df1 = df[df.column == 'test_string'].reset_index(drop=True)\n df2 = df[df.column != 'test_string'].reset_index(drop=True)\n\n\nWith pandas-refract this becomes::\n\n df1, df2 = refract(df, df.column.notnull(), True]\n\nand::\n\n df1, df2 = refract(df, df.column == test_string', True] \n\n\nBut you don't have to pass it explicit boolean arrays::\n\n data = {'a': ['', 'truthy', '', 'truthy'],\n 'b': [0, 1, 2, 3]\n }\n\n df = pd.DataFrame(data)\n\n truthy_df, falsey_df = refract(df, df.a)\n\n\nMore complex examples:\n*(where 'a' is Falsey and 'b' is an odd number)*\n::\n\n df1, df2 = refract(df, ((~df.a) & (df.b % 2 == 1)))\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/ittVannak/pandas-refract", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pandas-refract", "package_url": "https://pypi.org/project/pandas-refract/", "platform": "", "project_url": "https://pypi.org/project/pandas-refract/", "project_urls": { "Homepage": "https://gitlab.com/ittVannak/pandas-refract" }, "release_url": "https://pypi.org/project/pandas-refract/1.2.5/", "requires_dist": [ "numpy (>=1.16.2)" ], "requires_python": "", "summary": "Unofficial convenience functions that deal with fragmenting Pandas dataframes.", "version": "1.2.5" }, "last_serial": 5168253, "releases": { "1": [ { "comment_text": "", "digests": { "md5": "3b10cf6a10f6d2cd9b6bbccfea438cf9", "sha256": "f6e87ae31aa42684e649cd8bcbcc8d5a061fb8e8bbe5b9dd72998d6cf20f6a08" }, "downloads": -1, "filename": "pandas_refract-1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b10cf6a10f6d2cd9b6bbccfea438cf9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2851, "upload_time": "2018-07-09T04:24:19", "url": "https://files.pythonhosted.org/packages/07/5e/59811b4b869e0a8d3a7c77fdeb95aeef58a650e8dea69a198ca3f180d97f/pandas_refract-1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19e42d3f4264d560f2f5e123f0189334", "sha256": "06f56494eaea9f6bbe12881d47a568feb18417e0f4d7e1809b56d2fedf9cb5df" }, "downloads": -1, "filename": "pandas_refract-1.tar.gz", "has_sig": false, "md5_digest": "19e42d3f4264d560f2f5e123f0189334", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2170, "upload_time": "2018-07-09T04:24:20", "url": "https://files.pythonhosted.org/packages/8e/a1/0e9af3f9ea1aba3887d4d44a8395755eb34d5e88216581a5e2a65a8d6bc1/pandas_refract-1.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "ae53f3cb33bedc4b71742577fceb0013", "sha256": "10a28c7e4cb3ff84f95ad14b7bd618f73112c527e4a25a3b38d38af5c85ef26b" }, "downloads": -1, "filename": "pandas_refract-1.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae53f3cb33bedc4b71742577fceb0013", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3500, "upload_time": "2018-07-10T10:00:51", "url": "https://files.pythonhosted.org/packages/0c/e0/0d804f80d127c74f6e75e817c1a8427a889bc16d0ca52dd124fcb9024c8d/pandas_refract-1.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "845162d7d6f003cd2a36f5228649f48b", "sha256": "4bdcb0778a234e4b8dade63c28aec0faeb92aad650e80ef2c4a137f5e0e3effe" }, "downloads": -1, "filename": "pandas_refract-1.1.5.tar.gz", "has_sig": false, "md5_digest": "845162d7d6f003cd2a36f5228649f48b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2584, "upload_time": "2018-07-10T10:00:52", "url": "https://files.pythonhosted.org/packages/27/11/bd87b267de4aaa0e0ec513b5389fd78745cb51f434cf7b548b481d414103/pandas_refract-1.1.5.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1a7b28c90fa5eca0b673cc4f2d6b179b", "sha256": "aab189b570e18fd7518842b20e9c1f865a36141da97687987e0680b2c389169a" }, "downloads": -1, "filename": "pandas_refract-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a7b28c90fa5eca0b673cc4f2d6b179b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3791, "upload_time": "2018-07-15T06:03:26", "url": "https://files.pythonhosted.org/packages/a1/e7/39f71a3bd6e3e548f9f0ea9bd1e15b0ef3116a2b4d7038926bf6daac286c/pandas_refract-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1051cbf56d05210f57c603064e82001", "sha256": "4df61f5bf25f483b73beb99267544264b4221320c88e1b5f3e245fea3c4ad881" }, "downloads": -1, "filename": "pandas_refract-1.2.0.tar.gz", "has_sig": false, "md5_digest": "a1051cbf56d05210f57c603064e82001", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2859, "upload_time": "2018-07-15T06:03:27", "url": "https://files.pythonhosted.org/packages/54/14/d624f661d7667b5f43b2c932f607fba7e7c9f6071a9207efb47c2212223a/pandas_refract-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "f00802d326db9d652c073f48b0e546e2", "sha256": "fd9a704957a014a4ac83850b78f81869ab354edd8edd61b081f60d7b767bef8d" }, "downloads": -1, "filename": "pandas_refract-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f00802d326db9d652c073f48b0e546e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3801, "upload_time": "2018-07-15T18:14:51", "url": "https://files.pythonhosted.org/packages/07/41/43e639c163878524ab1a15d03ef2d4438d0a8ab02a12a688ecebc5c68a2b/pandas_refract-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab9d667c6f62ad30a2cf3fb0c056c03c", "sha256": "815b24f82a71d7f4a9559fe041143028b458b88f350cf69eff216066c180fc24" }, "downloads": -1, "filename": "pandas_refract-1.2.1.tar.gz", "has_sig": false, "md5_digest": "ab9d667c6f62ad30a2cf3fb0c056c03c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2872, "upload_time": "2018-07-15T18:14:52", "url": "https://files.pythonhosted.org/packages/69/ff/66ffbe176eca2b2f28dfc503c7fbe841a2eb1c4c54121ddc0abdcfec4a58/pandas_refract-1.2.1.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "cfdfc08c0d7abe64ddbc91018ccc0a70", "sha256": "2decf0988216f0f35c9578be9556cbf227672ad99358253e182aa2a574604c9b" }, "downloads": -1, "filename": "pandas_refract-1.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cfdfc08c0d7abe64ddbc91018ccc0a70", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3996, "upload_time": "2019-04-20T17:18:28", "url": "https://files.pythonhosted.org/packages/29/c4/1f78a1d3a758f1feb6dad1e7f3103579c81b47496c98767223bdf61ce5e5/pandas_refract-1.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ef53bf232b0d19b1810527783b7c48f", "sha256": "de68018bd403394770bd5001b547f77d114530cb3e518ffc869ce083d560a79d" }, "downloads": -1, "filename": "pandas_refract-1.2.4.tar.gz", "has_sig": false, "md5_digest": "9ef53bf232b0d19b1810527783b7c48f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3732, "upload_time": "2019-04-20T17:18:30", "url": "https://files.pythonhosted.org/packages/75/80/d95038bd5026b5cf81a8961183a2ae9add78a2226c3b744b59ed68216950/pandas_refract-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "8a7a2ac9b6aec7aa5d61e8a0530bdaa4", "sha256": "84822c9205b110897515b3060b15d02402f3410c60ba648ebc23ad5bdd693e98" }, "downloads": -1, "filename": "pandas_refract-1.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a7a2ac9b6aec7aa5d61e8a0530bdaa4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3993, "upload_time": "2019-04-20T17:37:47", "url": "https://files.pythonhosted.org/packages/1d/76/27847006b45a6496713f655c0a6b8ef2a5eed49a6131e9130190b184a631/pandas_refract-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b9ad8ef87e3632296ffbdb39e9f9c95", "sha256": "b8e65c9a8a9130ecffbb86c4b3091b43bb947b57e85b6ed57d3b043ed89a0eb6" }, "downloads": -1, "filename": "pandas_refract-1.2.5.tar.gz", "has_sig": false, "md5_digest": "0b9ad8ef87e3632296ffbdb39e9f9c95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3722, "upload_time": "2019-04-20T17:37:48", "url": "https://files.pythonhosted.org/packages/33/13/47853bb308eaf98c60e374c1d4a980f3febc9de6a53a121cc359b3f4680e/pandas_refract-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8a7a2ac9b6aec7aa5d61e8a0530bdaa4", "sha256": "84822c9205b110897515b3060b15d02402f3410c60ba648ebc23ad5bdd693e98" }, "downloads": -1, "filename": "pandas_refract-1.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a7a2ac9b6aec7aa5d61e8a0530bdaa4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3993, "upload_time": "2019-04-20T17:37:47", "url": "https://files.pythonhosted.org/packages/1d/76/27847006b45a6496713f655c0a6b8ef2a5eed49a6131e9130190b184a631/pandas_refract-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b9ad8ef87e3632296ffbdb39e9f9c95", "sha256": "b8e65c9a8a9130ecffbb86c4b3091b43bb947b57e85b6ed57d3b043ed89a0eb6" }, "downloads": -1, "filename": "pandas_refract-1.2.5.tar.gz", "has_sig": false, "md5_digest": "0b9ad8ef87e3632296ffbdb39e9f9c95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3722, "upload_time": "2019-04-20T17:37:48", "url": "https://files.pythonhosted.org/packages/33/13/47853bb308eaf98c60e374c1d4a980f3febc9de6a53a121cc359b3f4680e/pandas_refract-1.2.5.tar.gz" } ] }