{"id":21187660,"url":"https://github.com/holgerbrandl/data_science_with_kotlin","last_synced_at":"2026-04-18T19:33:12.467Z","repository":{"id":70194017,"uuid":"150700117","full_name":"holgerbrandl/data_science_with_kotlin","owner":"holgerbrandl","description":"Sources and slides of my KotlinConf2018 presentation about data-science with kotlin","archived":false,"fork":false,"pushed_at":"2018-10-05T07:55:33.000Z","size":24097,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-25T04:55:09.972Z","etag":null,"topics":["data-science","data-visualization","java","kotlin"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/holgerbrandl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-28T07:09:58.000Z","updated_at":"2024-02-25T06:01:08.000Z","dependencies_parsed_at":"2023-08-18T09:47:54.957Z","dependency_job_id":null,"html_url":"https://github.com/holgerbrandl/data_science_with_kotlin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/holgerbrandl/data_science_with_kotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerbrandl%2Fdata_science_with_kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerbrandl%2Fdata_science_with_kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerbrandl%2Fdata_science_with_kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerbrandl%2Fdata_science_with_kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holgerbrandl","download_url":"https://codeload.github.com/holgerbrandl/data_science_with_kotlin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerbrandl%2Fdata_science_with_kotlin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31982731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","data-visualization","java","kotlin"],"created_at":"2024-11-20T18:39:44.559Z","updated_at":"2026-04-18T19:33:12.444Z","avatar_url":"https://github.com/holgerbrandl.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Building Data Science Workflows with Kotlin\n\nIt was a wild -- and fun!! -- ride through NYC with Kotlin at [KotlinConf](https://kotlinconf.com/), see yourself!\n\n### \u003e\u003e [Slides](https://holgerbrandl.github.io/data_science_with_kotlin/data_science_with_kotlin.html) \u003c\u003c\n\n### \u003e\u003e [YouTube Video](https://www.youtube.com/watch?v=yjVW6uCmVBA) \u003c\u003c\n\n### \u003e\u003e [kts converted to Jupyter Notebook](report_rendering/nyc/WildRideThroughNYC.nbconvert.ipynb) \u003c\u003c\n\n\n## Abstract\n\nKotlin's language design and its great tooling provide a wonderful framework for data science. Still evolving are libraries for convenient and _kotlin-esque_ table manipulation and reporting.\n\nIn this session I would like to present the design and features of `krangl`, which is a {K}otlin DSL for data w{rangl}ing. By mimicking well established concepts from pandas and R, it implements a grammar of data manipulation using a modern functional-style API. It allows to filter, transform, aggregate and reshape tabular data. Clearly static types are preferable when using Kotlin, but very often data is fluent and has no immediate type. To bridge this gap, `krangl` provides means to toggle between typed and untyped data.\n\nAs an example, we will discuss how to compete at kaggle with workflows written in Kotlin. To facilitate that, we will use Jupyter to convert Kotlin scripts into HTML/notebooks.\n\n\n## Sources\n\nFor slide sources see `docs`\n\nFor example code see `src`\n\n\n# Taxi challenge\n\nWe picked the taxi trip duration challengefrom Kaggle as an example\n\nhttps://www.kaggle.com/c/nyc-taxi-trip-duration\n\n\n## Other interesting kernels of the Taxi Competition\n\n\n* [NYC Taxi EDA - Update: The fast \u0026 the curious](https://www.kaggle.com/headsortails/nyc-taxi-eda-update-the-fast-the-curious)\n* [From EDA to the Top (LB 0.367)](https://www.kaggle.com/gaborfodor/from-eda-to-the-top-lb-0-367)\n* [NYCT - from A to Z with XGBoost](https://www.kaggle.com/karelrv/nyct-from-a-to-z-with-xgboost-tutorial)\n\n\nAll NYC trip duration kernels can be found at https://www.kaggle.com/c/nyc-taxi-trip-duration/kernels.\n\n## References\n\nPrevious Talk Pointers\n\n*  [Kotlin's emerging data-science ecosystem](https://holgerbrandl.github.io/kotlin4ds_kotlin_night_frankfurt//emerging_kotlin_ds_ecosystem.html)  from the Kotlin Night in Frankurt (Germany) in spring 2018\n\n\nRepo Pointers\n\n* https://github.com/holgerbrandl/kscript\n* https://github.com/holgerbrandl/krangl\n* https://github.com/holgerbrandl/kravis\n* https://github.com/ligee/kotlin-jupyter\n\nArticles\n\n* https://kotlinfrompython.wordpress.com/2017/05/27/why-program-in-kotlin-instead-of-python/\n\nFigure References\n\n* https://www.rstudio.com/\n\n\n## About me\n\nHolger Brandl works as a data scientist at the Max Planck Institute of Molecular Cell Biology and Genetics (Dresden, Germany). He holds a Ph.D. degree in machine learning, and has developed new concepts in the field of computational linguistics. More recently he has co-authored publications in high-ranking journals such as Nature and Science. He is actively contributing to the Kotlin community by developing tools and libraries for bioinformatics, high-performance computing and data-science.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholgerbrandl%2Fdata_science_with_kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholgerbrandl%2Fdata_science_with_kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholgerbrandl%2Fdata_science_with_kotlin/lists"}