-
numpy:数据结构基础
scipy:强大的科学计算方法
matplotlib:丰富的可视化套件
pandas:基础数据分析套件
scikit-learn:强大的数据分析建模库
keras:人工神经网络
科学计算工具:Anaconda
查看全部 -
Python数据分析大家族
numpy:数据结构基础 number python
scipy:强大的科学计算方法(矩阵分析、信号分析、数理分析)
matplolib:丰富的可视化套件
pandas:基础数据分析套件
scikit-learn:强大的数据分析建模库
keras:人工神经网络
Python环境搭建
科学计算工具:Anaconda
查看全部 -
标记查看全部
-
import numpy as np import pandas as pd s = pd.Series([i * 2 for i in range(1, 11)]) print(type(s)) print(s) dates = pd.date_range("20170301", periods=8) df = pd.DataFrame(np.random.randn(8, 5), index=dates, columns=list("ABCDE")) print(df["A"]) print(df[:3]) # 打印前3行 print(df["20170301":"20170302"]) # 打印对应范围的行 print(df.loc[dates[0]]) # 答应某一行 print(df.loc["20170301":"20170303", ["B", "D"]]) # 打印对应范围的行及其对应的属性值 print(df.at[dates[0], "C"]) # 打印某行某列的值 print(df.iloc[1:3]) # 打印1:3行 print(df.iloc[1:3, 2:4]) # 打印1:3行 2:4列 print(df.iat[1, 3]) # 打印1:3行 print(df[df.B > 0][df.A < 0]) print(df[df < 0.0]) print(df[df["E"].isin([1, 2])]) # set sl = pd.Series(list(range(10, 18)), index=pd.date_range("20170301", periods=8)) df["F"] = sl # 插入一列 print(df) df.at[dates[0], "A"] = 0 print(df) df.iat[1, 1] = 1 df.loc[:, "D"] = np.array([4] * len(df)) print(df) df2 = df.copy() df2[df2 > 0] = -df2 # 将所有正数变为负数 print(df2) # Miss values df1 = df.reindex(index=dates[:4], columns=list("ABCD") + ["G"]) df1.loc[dates[0]:dates[1], "G"] = 1 print(df1) print(df1.dropna()) # 丢弃缺失 print(df1.fillna(value=2)) # 缺失值补2 # Statistic print(df.mean()) # 平均值 print(df.var()) # 方差 ss = pd.Series([1, 2, 4, np.nan, 5, 7, 9, 10], index=dates) print(ss) print(ss.shift(2)) # 把所有的值移后2 print(s.diff()) # 差分,不填数字则为一阶 print(s.value_counts()) # 每个值出现的次数 print(df) print(df.apply(np.cumsum)) # 累加 print(df.apply(lambda x: x.max() - x.min())) # 极差 # Concat pieces = [df[:2], df[-2:]] print(pd.concat(pieces)) # 拼接前2行和后2行 left = pd.DataFrame({"key": ["x", "y"], "value": [1, 2]}) right = pd.DataFrame({"key": ["x", "z"], "value": [3, 4]}) print("left", left) print("right", right) print(pd.merge(left, right, on="key", how="right")) # 拼接,how:拼接方式,inner(去掉缺省值,outer(保留所有缺省值 df3 = pd.DataFrame({"A": ["a", "b", "c", "b"], "B": list(range(4))}) print(df3) print(df3.groupby("A").sum()) # 对A聚合,两个B相加 # #Reshape import datetime df4 = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 6, # 此表格共有24行 'B': ['a', 'b', 'c'] * 8, 'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4, 'D': np.random.randn(24), # 随机数 'E': np.random.randn(24), 'F': [datetime.datetime(2017, i, 1) for i in range(1, 13)] + [datetime.datetime(2017, i, 15) for i in range(1, 13)]}) # pivot_table透视表 print(df4) print(pd.pivot_table(df4, values="D", index=["A", "B"], columns=["C"])) # 输出值,输出项,列值 # time series t_exam = pd.date_range("20170301", periods=10, freq="S") print(t_exam) # 画图 ts = pd.Series(np.random.randn(1000), index=pd.date_range("20170301", periods=1000)) ts = ts.cumsum() from pylab import * ts.plot() show() # 文件操作 df6= pd.read_excel("./panda.xlsx","Sheet1") print(df6) df6.to_csv("./panda.csv")
查看全部 -
存存存存存
查看全部 -
Python数据分析与展示
查看全部 -
第一节结束查看全部
-
#encoding-utf-8
import numpy as np
import pandas as pd
# 机器学习分3个步骤:数据预处理、数据建模、结果验证
def main():
#Pre-processing 预处理
from sklearn.datasets import load_iris
iris=load_iris() #直接引入iris数据集 data:150个,分4种属性值;target标度分三类0,1,2
print(iris)
print(len(iris["data"])) #原始数据150个
from sklearn.model_selection import train_test_split
# 数字氛围、 测试数据、 验证数据、 验证数据集占整个的20%,随机选择验证数据
train_data,test_data,train_target,test_target=train_test_split(iris.data,iris.target,test_size=0.2,random_state=1)
# Model 建模
from sklearn import tree #引入决策树
# 决策树分类器 标准=熵
clf=tree.DecisionTreeClassifier(criterion="entropy")
# fit 用训练集进行训练
clf.fit(train_data,train_target)
y_pred=clf.predict(test_data)#通过验证集进行预测
#Verify \验证:1准确率;2混淆矩阵
from sklearn import metrics
print(metrics.accuracy_score(y_true=test_target,y_pred=y_pred))
print(metrics.confusion_matrix(y_true=test_target,y_pred=y_pred))
# 决策树直接输出文件export_graphviz
with open("./data/tree.dot","w") as fw:
tree.export_graphviz(clf,out_file=fw)
if __name__=="__main__":
main()
查看全部 -
#statistic
print(df.mean()) #均值
print(df.var()) #方差
print("~~~~~~~~~~~~~~~~~~~~************")
s=pd.Series([1,2,2,np.nan,5,7,9,10],index=dates) #构架series
print(s)
print(s.shift(2))
print(s.diff())
print(s.value_counts()) #返回值可以用来绘制直方图
print(df.apply(np.cumsum)) #累加
print(df.apply(lambda x:x.max()-x.min())) #极差:每个属性最大值减最小值
#concat
pieces=[df[:3],df[-3:]] #用下标获取到dataframe的一部分,前三行和后三行拼接在一起
print(pd.concat(pieces))
left=pd.DataFrame({"key":["x","y"],"value":[1,2]}) #建立两个dataframe
right=pd.DataFrame({"key":["x","z"],"value":[3,4]})
print("LEFT:",left)
print("RIGHT:",right)
print(pd.merge(left,right,on="key",how="inner"))
df3=pd.DataFrame({"A":["a","b","c","b"],"B":list(range(4))})
print(df3.groupby("A").sum())
# #Reshape
import datetime
df4=pd.DataFrame({'A':['one','one','two','three']*6, #此表格共有24行
'B':['a','b','c']*8,
'C':['foo','foo','foo','bar','bar','bar']*4,
'D':np.random.randn(24), #随机数
'E':np.random.randn(24),
'F':[datetime.datetime(2017,i,1) for i in range(1,13)]+
[datetime.datetime(2017,i,15) for i in range(1,13)]})
# pivot_table透视表
print(pd.pivot_table(df4,values="D",index=["A","B"],columns=["C"]))
查看全部 -
#4--Linear
from scipy import linalg as lg
arr=np.array([[1,2],[3,4]])
print("Det:",lg.det(arr))
print("Inv:",lg.inv(arr))
b=np.array([6,14])
print("Sol:",lg.solve(arr,b)) #解线性方程组
print("Eig:",lg.eig(arr)) #特征值
print("LU:",lg.lu(arr)) #矩阵分解,lu、qr、svd、schur
print("QR:",lg.qr(arr))
print("SVD:",lg.svd(arr))
print("Schur:",lg.schur(arr))
查看全部 -
scipy 库是 numpy 基础上增加的众多数学,科学以及工程计算常用的的库函数,例如线性代数,常微分方程,信号处理,图像处理,稀疏矩阵 等
查看全部 -
模块介绍:numpy、scipy、matplotlib
查看全部 -
常用的几个模块
查看全部 -
plt.figure(1)是新建一个名叫 Figure1的画图窗口,plt.plot(x,c)是在画图窗口里具体绘制横轴为x 纵轴为c的曲线
查看全部 -
## time series 和 绘图
查看全部
举报