Data science is a solved problem: just use Pandas. Or is it? In this talk, Xuanyi will explore why Go may be a better solution for some problems and introduce a few libraries for that.
is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Follow @chewxy on Twi/er
is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Follow @chewxy on Twi/er
is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Follow @chewxy on Twi/er
is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Follow @chewxy on Twi/er
Cleaning Data Collecting Data Statistical Analysis Refining Algorithms Other Telling people you shouldn't use pie charts *Data from Forbes Follow @chewxy on Twi/er
Cleaning Data Collecting Data Statistical Analysis Refining Algorithms Other Telling people you shouldn't use pie charts *Data from Forbes Follow @chewxy on Twi/er
is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Follow @chewxy on Twi/er
records, _ := r.ReadAll()! ! var intMax int! For i, record := range records {! intVal, err := strconv.Atoi(record[0])! if err != nil {! err = errors.Wrapf(err, "Failed at %d", i)! log.Fatal(err)! }! if intVal > intMax {! intMax = intVal! }! }! ! fmt.Println(intMax)! Follow @chewxy on Twi/er
is everyone's favourite. Clear is better than clever. Don't just check errors. Handle them gracefully. Make the zero value useful. Follow @chewxy on Twi/er
Pandas makes assumptions for you. • 90% of the time, the assumption works 100% of the time. • Pandas + Jupyter = match made in heaven. Follow @chewxy on Twi/er
that promotes mechanical sympathy. • Right levels of abstraction. – Encourages users to understand underlying data structures and algorithms. Follow @chewxy on Twi/er
that promotes mechanical sympathy. • Right levels of abstraction. – Encourages users to understand underlying data structures and algorithms. – High level enough to be productive. Follow @chewxy on Twi/er
Gonum – set of packages for numerical and scientific algorithms • Gophernotes – like Jupyter for Go • Gota – data frames for Go Follow @chewxy on Twi/er
Gonum – set of packages for numerical and scientific algorithms • Gophernotes – like Jupyter for Go • Gota – data frames for Go • Gorgonia* – packages for deep learning in Go * @chewxy is the author of Gorgonia Follow @chewxy on Twi/er
Gonum – set of packages for numerical and scientific algorithms • Gophernotes – like Jupyter for Go • Gota – data frames for Go • Gorgonia – packages for deep learning in Go Follow @chewxy on Twi/er