import pandas as pd
import numpy as np
s1 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
s2 = pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'])
s3 = pd.DataFrame(np.ones((3,4))*2,columns=['a','b','c','d'])
print(s1)
print(s2)
print(s3)
#纵向合并 s1,s2,s3
# method 01: 对应的columns 和 index一样
res= pd.concat([s1,s2,s3],axis=0,ignore_index=True)#默认相当于jion(outer)
print(res)
#method 02: 对应的columns不一样
s4 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','e'],index=[1,2,3])
s5 = pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'],index=[2,3,4])
res2= pd.concat([s4,s5],axis=0,join='inner',ignore_index=True) #只把匹配的部分合并返回
print(res2)
#method 03: 对应的 index不一样
res3= pd.concat([s4,s5],axis=1,join_axes=[s4.index]) #按照某个index处理
print(res3)
print("_"*20)
#利用append进行数据添加
print(s1)
print("_"*20)
#添加另外的DF
ress = s1.append(s2,ignore_index=True) #这个 append时候, 不改变s1的值
print(ress)
#添加一条数据
s3=s1.append(pd.Series([2,2,2,2],index=['a','b','c','d']),ignore_index=True)
print(s3)
import pandas as pd
import numpy as np
left = pd.DataFrame({'key':['K0','K1','K2','K3'],
'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3']},
index=['a','b','c','d'])
right = pd.DataFrame({'key':['K0','K1','K2','K3'],
'C':['C0','C1','C2','C3'],
'D':['D0','D1','D2','D3']},
index=['e','f','c','d'])
print(left)
print(right)
print('-'*10)
#基于cloumn 连接, on也可以是一个key的列表
res = pd.merge(left,right,on='key')
print(res)
#基于row连接,可以选择是否考虑left_index和right_index
res1=pd.merge(left,right,left_index=True,right_index=True,how="outer")
res2=pd.merge(left,right,left_index=True,right_index=True,how="inner")
print(res1)
print(res2)
__author__ = "Luke Liu"
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data1= pd.Series(np.random.randn(1000),
index=np.arange(1000))
data2=pd.DataFrame(np.random.randn(1000,4),
index=np.arange(1000),
columns=['a','b','c','d'])
data = data2.cumsum() #进行数据累加计算
data.plot()
# ax = data.plot.scatter(x='a',y='b',c='r',label='class1')
# bx=data.plot.scatter(x='a',y='c',c='blue',label='class2',ax=ax)
# data.plot.scatter(x='a',y='b',c='g',label='class3',ax=bx)
plt.show()