Series是pandas的一种数据结构
# eg.1
s1 = pd.Series() #实例化一个Series
# s1.data()
# s1.name()
# # s1.index
对于Series比较重要的是它的data 、name 、index
FutureWarning: Series.data is deprecated and will be removed in a future version(Series.data在为了一个版本会被去掉)
Series和dictionary很像,dictionary由 key、value、 pair组成的
# eg.2
d = {'x':100,'y':200,'z':300} # dictionay
print(d.keys())
print(d.values())
print(d['x']) # 通过key(): 'x' 访问到value() :100
可以把dictionary转变为Series
dictionary的keys转化为Series的index,values转化为data
# eg.3
d = {'x':100,'y':200,'z':300}
s1 = pd.Series(d)
print(s1)
创建Series的其他方法
# eg.4
L1=[100,200,300]
L2=['x','y','z']
s1 = pd.Series(L1,index = L2)
print(s1)
or:
# eg.5
s2 = pd.Series([100,200,300],['x','y','z'])
print(s2)
output:
本节的重点:
到此,我们已经掌握了如何创建Series,但是Series到底表示行还是列呢? 只有将它加到DataFranme里我们才能确定它是行还是列。今天研究一下怎么用pandas生成下面的表格。
# eg.6
s1 = pd.Series([1,2,3],index=[1,2,3],name='A')
s2 = pd.Series([10,20,30],index=[1,2,3],name='B')
s3 = pd.Series([100,200,300],index=[1,2,3],name='C')
df = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df)
# 以dictionary的形式加到DataFrame ,Series 是列
output:
# eg.7
s1 = pd.Series([1,2,3],index=[1,2,3],name='A')
s2 = pd.Series([10,20,30],index=[1,2,3],name='B')
s3 = pd.Series([100,200,300],index=[1,2,3],name='C')
df = pd.DataFrame([s1,s2,s3])
print(df)
# 以list的形式加到DataFrame ,Series 是行
output:
小拓展:观察上面的eg6以及它的输出我们可以知道,每个Series和DataFrame它们都有自己的index,index之间有何关系?
index之间存在一种“对齐关系”:index相同的值对成一行
# eg.8
s1 = pd.Series([1,2,3],index=[1,2,3],name='A')
s2 = pd.Series([10,20,30],index=[1,2,3],name='B')
s3 = pd.Series([100,200,300],index=[2,3,4],name='C') # index =[2,3,4]
df = pd.DataFrame([s1,s2,s3])
print(df)