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 1
1 2
2 3
3 4
dtype: int64
'''Series指定索引,指定时候必须和Series的长度相等'''
a2=pandas.Series([4,5,6,7],index=list("abcd"))
print("输出指定了索引的Series:",a2,sep='\n')
输出指定了索引的Series:
a 4
b 5
c 6
d 7
dtype: int64
'''通过字典方式创建自定义索引的Series'''
o={"name":"drt","age":22,"gender":"man"}
a3=pandas.Series(o)
print("通过字典方式创建自定义索引的Series:",a3,sep='\n')
通过字典方式创建自定义索引的Series:
name drt
age 22
gender man
dtype: object
'''修改Series的dtype'''
b=a.astype("float")#a的dtyoe并不改变
print("打印修改后的Series",b,sep='\n0')
打印修改后的Series
00 1.0
1 2.0
2 3.0
3 4.0
dtype: float64
'''通过索引或位置取Series的值'''
print("通过索引或位置取,都一样:",a3["name"],a3[0])
通过索引或位置取,都一样: drt drt
print("取第一行以后的,包括第一行:",a3[1:],sep='\n')
取第一行以后的,包括第一行:
age 22
gender man
dtype: object
print("取第二行以前的,包括第二行:",a3[:2],sep='\n')
取第二行以前的,包括第二行:
name drt
age 22
dtype: object
print("取第0行和第2行(通过位置取):",a3[[0,2]],sep='\n')
取第0行和第2行(通过位置取):
name drt
gender man
dtype: object
print("取第0行和第2行(通过索引取):",a3[["name","gender"]],sep='\n')
取第0行和第2行(通过索引取):
name drt
gender man
dtype: object
'''取出符合条件的值'''
c=pandas.Series(range(5,15))
print(c)
0 5
1 6
2 7
3 8
4 9
5 10
6 11
7 12
8 13
9 14
dtype: int64
print("取出值大于10的:",c[c>10],sep='\n')
取出值大于10的:
6 11
7 12
8 13
9 14
dtype: 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')
name
age
gender
打印Series的值:
['drt' 22 'man']
drt
22
man