#dataframe的数据类型 #每行的数据类型可以不一样 #行索引为index 等同于excel表格最左边的1、2、3、4 #列索引为column 等同于excel表格最顶端的A|B|C|D|E #每一列都是一个series对象
目录
创建一个列表并保存为对象
print("\n创建一个列表并保存为对象")
s01 = pd.Series([1, 2, 3, 6, 8])
print("输出index索引号的范围:",s01.index)
print("输出values值:",s01.values)
创建一个带有索引号的列表并保存为对象
print("\n\n创建一个带有索引号的列表并保存为对象")
s02 = pd.Series([1, 2, 3, 6, 8], index=['A', 'B', 'C', 'D', 'E'])
print("输出index索引号的范围:",s02.index)
print("输出列表2的values值:",s02.values)
通过字典的形式,
创建series列表并保存为对象,
然后输出索引和保存的值:
print("\n\n通过字典的形式,创建series列表并保存为对象,然后输出索引和保存的值:")
s03 = pd.Series({'abeiduo': 102345, 'youla': 505689, 'chongyun': 612478})
print("输出index索引号的范围:",s03.index)
print("输出列表3的values值:",s03.values)
通过字典的形式,
创建series列表并保存为对象,
还可以指定索引号,
如果某个索引号没有对应的值,会显示NaN
print("\n\n通过字典的形式,创建series列表并保存为对象,还可以指定索引号,如果某个索引号没有对应的值,会显示NaN")
s04 = pd.Series({'b': 1, 'a': 0, 'c': 2}, index=["a", "b", "c", "d"])
print("输出列表4的索引和对应值:\n", s04)
创建series时可以通过name参数指定一个名称
print("\n\n创建series时可以通过name参数指定一个名称")
s05 = pd.Series([1,2,3,4,5], name='integer array')
print("输出列表05的名称:\n",s05.name)
print("输出列表05:\n",s05)
创建series时,
可以使用整数、字符串作为索引
print("\n\n创建series时,可以使用整数、字符串作为索引")
s06 = pd.Series([1, 2, 3, 6, 8])
print("使用整数作为索引:\n",s06[0])
s07 = pd.Series({'b': 1, 'a': 0, 'c': 2})
print("使用字符串作为索引:\n",s07['b'])
print("可以传入一个列表来读取series的多个数据:\n",s07[['a', 'b']])
通过直接赋值修改series
print("\n\n通过直接赋值修改series")
s08 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s08['a'] = 100
print("修改后a的值为:\n",s08)
s08['b':'c'] = 5
print("""pandas的切片运算跟python的不一样,
pandas的切片'b':'c'包括两个索引
python的切片'b':'c'只有一个索引不包括后者\n
注意新修改b、c的值变为:""")
print(s08)
修改索引号
print("\n\n修改索引号:")
s09 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s09.index = ['e', 'f', 'g', 'h']
print("输出新的索引号:\n",s09)
Series的数学运算跟高中的向量运算类似:
print("\n\nSeries的数学运算跟高中的向量运算类似:")
s10 = pd.Series([1, 2, 3, 6, 8])
s10x2 = s10*2
print("每个值都乘以2后:\n",s10x2)
Series还能将两个数据列表相加
print("\n\nSeries还能将两个数据列表相加:")
s11 = pd.Series([1, 2, 3, 6, 8])
s12 = pd.Series([3, 3, 3, 3, 3])
s11_plus_s12 = s11 + s12
print(s11_plus_s12)
如果Series发现两个列表的索引不一样,
还能将索引号对齐再进行运算
print("\n\n如果Series发现两个列表的索引不一样,还能将索引号对齐再进行运算:")
s12 = pd.Series([1, 2, 3, 4], index=['一月', '二月', '三月', '四月'])
s13 = pd.Series([1, 2, 3, 4], index=['二月', '三月', '四月', '五月'])
s12_plus_s13 = s12+s13
print(s12_plus_s13)