一、Series类对象创建
1.构造法:
Pandas中有两个主要的数据结构:Series和DataFrame
Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成
import numpy as np
import pandas as pd
pd.Series(data=np.array[1,2,3,4,5],index=['a','b','c','d','e'])
data:表示传入的数据
index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N的正数索引。
2.传入列表:
s1=pd.Series([1,2,3])
s1=pd.Series([1,2,3],index=['a','b','c'])
3.dict创建:
data={2001:17.8,2002:20.5,2003:13.1}
s2=pd.Series(data)
二·、DataFrame类对象创建
DataFrame是一个类似于二维数组或表格(如excel)的对象,它每列的数据可以是不同的数据类型。
import numpy as np
import pandas as pd
a1=pd.DataFrame(data=np.random.randint(20,50,12).reshape(3,4),index=['a','b','c'],columns=['q','w','e','r'])
a1
三、数据切片操作
loc:基于标签索引(索引名称),用于按标签选取数据。当执行切片操作时,既包含起始索引,也包含结束索引。
iloc:基于位置索引(整数索引),用于按位置选取数据。当执行切片操作时,只包含起始索引,不包含结束索引。
a1.iloc[1]#获取某一行的数据
a1[1:3]#获取连续的多行数据
a1.iloc[[1,3]]#获取不连续的多行数据
a1.loc[:,['q','e']]#获取指定列的数据
a1.loc[['a','b'],['q','w']]#获取指定的多行多列
四、数据合并
Merge
首先merge的操作非常类似sql里面的join,实现将两个Dataframe根据一些共有的列连接起来,当然,在实际场景中,这些共有列一般是Id,
连接方式也丰富多样,可以选择inner(默认),left,right,outer 这几种模式,分别对应的是内连接,左连接,右连接
import numpy as np
import pandas as pd
random=np.random.RandomState(0)
df1=pd.DataFrame(random.randn(3,4),columns=['a','b','c','d'])
df2=pd.DataFrame(random.randn(2,3),columns=['a','b','d'],index=['b1','b2'])
pd.merge(df1,df2)
pd.merge(df1,df2,how='outer')