数据分析的三个基本模块
import numpy as np #数组
import pandas as pd
import matplotlib.pyplot as plt #可视化
1、将两个一维数组转换成二维数组。如将DataFrame的某字段作为其中一个数组,另一个数组的元素都为零,如下:
X=np.array(list(zip(np.array(df['user_count']),np.zeros(shape=(500000,)))))
2、数据来源,做数据分析肯定需要一份可以用来分析与挖掘的数据,在sklearn模块中有几份较小的数据,如鸢尾花数据
from sklearn import datasets
iris = datasets.load_iris()
得到的数据是iris.data和iris.target是numpy.ndarray类型的。其位于D:\XXXX\Anaconda3\Lib\site-packages\sklearn\datasets\data中,更多的数据可见UCI的数据网站查看。通过Python可以直接调用(若不能调用,可先下载)
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
df = pd.read_csv(url, names=names)
此时是pandas.DataFrame类型数据。
3、查看某字段/特征中各数值个数
对于numpy.ndarray,借助其他模块
from collections import Counter
Counter(oversampled_trainY)
Out[42]
Counter({2: 1298071, 1: 1298071})
对于pandas.DataFrame,就一句
df['class'].value_counts()
4、字符串截取——DataFrame
Data的某个字段的截取,类比mysql的substr
data={'country':['China','America','India'],'poplation':[14,3,13]}
data=pd.DataFrame(data)
data
country | poplation | |
---|---|---|
0 | China | 14 |
1 | America | 3 |
2 | India | 13 |
data['country'].str[0:2]
Out[35]:
0 Ch 1 Am 2 In Name: country, dtype: object
未完待续。。。