Python Data Types | Python 数据类型

Python type NumPy type pandas dtype Usage
str string_, unicode_ object Text
int int_, int8, int16, int32, int64, uint8, uint16, uint32, uint64 int64 Integer numbers
float float_, float16, float32, float64 float64 Floating point numbers
bool bool_ bool True/False values
datetime64[ns] datetime64 Date and time values
timedelta[ns] Differences between two datetimes
category Finite list of text values

Note that what is “str” in Python is called “object” in pandas. This is a potential source of confusion (isn’t everything in Python an object?).

Saving Ipython script history

%save sessionName linesToKeep

This will save script in line numbers you specify in linesToKeep,for example, 1-20 34-50 64 into a file called “sessionName.py” in your current working directory.

If you are not so specific on which lines you want to keep, you can save everything.

%save sessionName ~0/

This saves everything from the current session, denoted as “~0″ into file “sessionName.py” in your cwd (current working directory).

%save pastSession ~1/

This saves everything from the past session, denoted as “~1” into file “pastSession.py” in your cwd.

scikit-learn processes simplified | 简化scikit-learn过程

Code light and concept heavy–that’s been the trend as programming languages stack on one another to wrap up more and more algorithms with fewer and fewer lines of code. A child can run a linear regression model. Yes, you hear it right. We have done it, and we summarize the building blocks of Python machine learning library scikit-learn in this table:

Process Code
Import libraries %matplotlib inline

import numpy as np

import pandas as pd

import matplotlib

import matplotlib.pyplot as plt

Format pd.options.display.float_format = ‘{:20,.3f}’.format
Import data from sklearn.datasets import load_boston

dataset = load_boston()

Prepare data y = dataset.target

X = dataset.data

Split data from sklearn.model_selection import train_test_split
Algorithm a from sklearn.linear_model import RidgeCV

my_regr = RidgeCV()

Train-predict my_regr.fit(X_train, y_train)

y_pred =my_regr.predict(X_test)

Plot – performance f, ax =plt.subplots(1, 1)

ax.scatter(y_test, y_pred)

plt.plot([0, 50], [0, 50], ‘–k’)

ax.set_ylabel(‘Target predicted’)

ax.set_xlabel(‘True Target’)

ax.set_title(‘Ridge regression on test data’)

ax.text(5, 40, r’$R^2$=%.2f, MAE=%.2f’ % (

   r2_score(y_test, y_pred), median_absolute_error(y_test, y_pred)))

ax.set_xlim([0, 50])

ax.set_ylim([0, 50])

Interpretation interpretation = pd.DataFrame({‘X’: dataset.feature_names, ‘coef’: my_regr.coef_})
Algorithm b from sklearn.model_selection import cross_val_predict

from sklearn import linear_model

Train-predict my_regr = linear_model.LinearRegression()

y_pred = cross_val_predict(my_regr, X, y, cv=10)

Plot – performance f, ax =plt.subplots(1, 1)

ax.scatter(y, y_pred, edgecolors=(0, 0, 0))

plt.plot([0, 50], [0, 50], ‘–k’)

ax.set_ylabel(‘Target predicted’)

ax.set_xlabel(‘True Target’)

ax.set_title(‘linear regression with cross validation’)

ax.text(5, 45, r’$R^2$=%.2f, MAE=%.2f’ % (

   r2_score(y, y_pred), median_absolute_error(y, y_pred)))

Jupyter notebook markdown tips

Tip No. 1- Tip No. 100000: play around and click every button. If you are willing to do this continuously, you will be better than half of the programmers soon, and probably can answer most of the questions in Stackoverflow related to Jupyter Notebook markdown. Go ahead, it won’t break. The worst it could happen is restart. If you have to undo, hit Esc, then ctrl + z.

More

python numpy basics | 基础 python numpy 1

Tonight our class played together numpy basics and math.  We put together a numpy basics notebook:
https://nbviewer.jupyter.org/github/magicmathmandarin/PythonBasics/blob/master/numpy_basics1.ipynb#back-to-top

Programming by trial and error is a great way for kids to learn not only programming but also math. — this should play a bigger and bigger role in children’s day to day learning.  玩编程也帮助学习算术。

Somehow I have a feeling that learning long division in this day and age is wrong.  在这个时代还学长除法那就不对了。

Go ahead and tinker with the code in the notebook. Nothing will break, we promise 🙂

tensorflow upgrade and testing | tensorflow 升级和测试

It has been over a year since I last used tensorflow. Not only library versions have changed, but also the syntax. My old jupyter notebook was throwing errors all over the place this morning. It is time to update everything.

For tensorflow, I am using Python 3.6.3 (I used to use Python 3.5), and numpy 1.16.1. TensorFlow has a few dependencies. numpy is one of them. Note the mnist dataset has 70,000 images.

python -c ‘import tensorflow as tf; print(tf.__version__)

More

An great collection of Python notebooks | Python 笔记本集

Here is a really great collection of Python notebooks with lots and lots of links.  We start with some appetizers:

But there are so many and so much more!! Okay, I am just going to copy (fork) most of this page:

Mathematics

  • Linear algebra with Cython. A tutorial that styles the notebook differently to show that you can produce high-quality typography online with the Notebook. By Carl Vogel.
  • More

Women, men and money

From a dataset on restaurant tip included in the Python seaborn library, we investigate using Python with Jupyter Notebook how much money women and men relatively make, and why.

Most people don’t tip more or less because of server is a man or woman, but we do tip according to tip amount (for equal services).

I will tell you base on data analysis the real reason women make less is mostly because:
1. women work mostly lunch shifts
2. lunch bills are smaller than dinner ones.

Indeed, in every industry, including food services like in the restaurants, women have shouldered more share of the most difficult job in the world: parenting, and dedicated their time and energy to their families.

As a result, they have earned less money than men on average. Let’s give our appreciation to women for their roles in taking care of families!

There is a profound reason why we say “Mother nature”!

Should women work more dinner shifts and leave the important job of taking care of children to …?

That is a difficult question… Take a look at this Jupyter Notebook for the detailed data analysis.
More