
一、Numpy的属性
1 |
import numpy as np |
二、Numpy创建Array
五、Numpy的索引
1 |
import numpy as np |
矩阵换成二维的
1 |
import numpy as np |
三、Numpy的Array合并
合并
1 |
import numpy as np |
增加维度
1 |
print(A[:,np.newaxis]) #增加列维度 |
例子:
1 |
A = np.array([1,1,1])[:,np.newaxis] |
多个Array合并
1 |
C = np.concatenate((A,B,B,A),axis=0) |
四、Numpy的分割
先生成一个array:
1 |
import numpy as np |
split只能进行相同分割,进行不相等分割要使用array_split
1 |
print(np.array_split(A,3,axis=1)) |
相对于合并,分割也有vsplit和hsplit
1 |
print(np.vsplit(A,3)) |
五、Numpy的copy和deep copy
1 |
import numpy as np |
Pandas
一、Pandas的基本介绍
Series
1 |
import pandas as pd |
DataFrame
1 |
dates = pd.date_range('20160101',periods=6) |
没有索引生成DataFrame
1 |
df1 = pd.DataFrame(np.random.randn(3,4)) |
按索引排序
1 |
df1 = pd.DataFrame(np.arange(12).reshape((3,4))) |
按值排序
1 |
print(df1.sort_values(by=2)) |
二、选择数据
先生成一个DataFrame
1 |
import pandas as pd |
从标签来选择
1 |
print(df.loc['20130102']) |
从列标签中选择,并输出所有行结果
1 |
print(df.loc[:,['A','B']]) |
从位置选择
1 |
print(df.iloc[3]) #第4行的数据 |
混合选择
1 |
print(df.ix[:3,['A','C']]) |
其它
1 |
print(df) |
三、Pandas设置值
先生成一个DataFrame
1 |
dates = pd.date_range('20130101',periods=6) |
另一种设置值的方法
1 |
df[df.A>4] = 0 |
加一列
1 |
df['F'] = np.nan |
四、Pandas处理异常数据
生成一个带有Nan的DataFrame
1 |
import pandas as pd |
丢掉带有数据的行或列
1 |
print(df.dropna(axis=0,how='any')) #丢掉行 |
将没有填的空,填上数据
1 |
print(df.fillna(value=0)) |
判断整个表格中数据是否存在
1 |
print(df.isnull()) |
数据太多,没办法每行每列找,可以用下列方法
1 |
print(np.any(pd.isnull()) == True) |
五、Pandas导入导出
导入表格
1 |
import pandas as pd |
导出表格
1 |
data.to_pickle('2.pickle') |
六、Pandas合并 concate
生成三个DataFrame
1 |
import pandas as pd |
第一种合并
1 |
res = pd.concat([df1,df2,df3],axis=0) |
重新赋予左边的索引
1 |
res = pd.concat([df1,df2,df3],axis=0,ignore_index=True) |
另一种合并(‘outer’,’inner’)
先生成两个DataFrame
1 |
df1 = pd.DataFrame(np.ones((3,4))*0,index=[1,2,3],columns=['a','b','c','d']) |
内外连接(默认为outer)
1 |
res = pd.concat([df1,df2],join='outer') |
根据索引连接
1 |
df1 = pd.DataFrame(np.ones((3,4))*0,index=[1,2,3],columns=['a','b','c','d']) |
append添加
1 |
df1 =pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d']) |
七、Pandas合并 merge
生成两个DataFrame
1 |
import pandas as pd |
merge
1 |
res = pd.merge(left,right,on='key') |
两列key
1 |
left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'], |
indicator
生成DataFrame
1 |
df1 = pd.DataFrame({'col1':[0,1], 'col_left':['a','b']}) |
使用indicator
1 |
res = pd.merge(df1, df2, on='col1', how='outer', indicator=True) |
index
1 |
left = pd.DataFrame({'A': ['A0', 'A1', 'A2'], |
handle overlapping
1 |
boys = pd.DataFrame({'k': ['K0', 'K1', 'K2'], 'age': [1, 2, 3]}) |
八、Pandas Plot画图
生成Series
1 |
import pandas as pd |




近期评论