#dataframe的数据类型 #每行的数据类型可以不一样 #行索引为index 等同于excel表格最左边的1、2、3、4 #列索引为column 等同于excel表格最顶端的A|B|C|D|E #每一列都是一个series对象
目录
创建一个列表并保存为对象
创建一个带有索引号的列表并保存为对象
通过直接赋值修改series
修改索引号
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']])
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)
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)