1.为什么学习pandas
pandas和numpy一样都是处理数据的,但numpy只能处理数值型数据,而pandas除了可以处理数值型数据(基于numpy)外,还可以处理其他类型的数据
2.pandas常用的数据结构
2.1 Series 一维,带标签数组
2.2 DataFrame 二维,Series容器
3.开始学习
先安装pandas,直接cmd里写
pip install pandas
然后在工程里把此包引用了就行
4. Series
import pandas
a=pandas.Series([1,2,3,4])
print("Series小例子(带标签的数组就是Series输出有索引):",a,sep='\n')Series小例子(带标签的数组就是Series输出有索引):0 11 22 33 4dtype: int64
'''Series指定索引,指定时候必须和Series的长度相等'''
a2=pandas.Series([4,5,6,7],index=list("abcd"))
print("输出指定了索引的Series:",a2,sep='\n')输出指定了索引的Series:a 4b 5c 6d 7dtype: int64
'''通过字典方式创建自定义索引的Series'''
o={
"name":"drt","age":22,"gender":"man"}
a3=pandas.Series(o)
print("通过字典方式创建自定义索引的Series:",a3,sep='\n')通过字典方式创建自定义索引的Series:name drtage 22gender mandtype: object
'''修改Series的dtype'''
b=a.astype("float")#a的dtyoe并不改变
print("打印修改后的Series",b,sep='\n0')打印修改后的Series00 1.01 2.02 3.03 4.0dtype: float64
'''通过索引或位置取Series的值'''
print("通过索引或位置取,都一样:",a3["name"],a3[0])通过索引或位置取,都一样: drt drt
print("取第一行以后的,包括第一行:",a3[1:],sep='\n')取第一行以后的,包括第一行:age 22gender mandtype: object
print("取第二行以前的,包括第二行:",a3[:2],sep='\n')取第二行以前的,包括第二行:name drtage 22dtype: object
print("取第0行和第2行(通过位置取):",a3[[0,2]],sep='\n')取第0行和第2行(通过位置取):name drtgender mandtype: object
print("取第0行和第2行(通过索引取):",a3[["name","gender"]],sep='\n')取第0行和第2行(通过索引取):name drtgender mandtype: object
'''取出符合条件的值'''
c=pandas.Series(range(5,15))
print(c)0 51 62 73 84 95 106 117 128 139 14dtype: int64
print("取出值大于10的:",c[c>10],sep='\n')取出值大于10的:6 117 128 139 14dtype: int64
'''只取Series的索引或值'''
print("打印出a3的索引:",a3.index,sep='\n')
for i in a3.index:print(i)
print("打印Series的值:",a3.values,sep='\n')
for i in a3.values:print(i)打印出a3的索引:Index(['name', 'age', 'gender'], dtype='object')nameagegender打印Series的值:['drt' 22 'man']drt22man