目录
pandas数据结构
pandas有两个基本数据结构:Series,DataFrame
Series类似一维数组,不同的是他是由一组数据和一组索引组成。
DataFrame是python数据分析最常用的,所以不管创建的数据或外部的数据,我们都会想办法将其转换为DataFrame数据
创建Series数据
通过Series函数,输入列表数据作参可以创建最简单的Series数据
from pandas import Series,DataFrame
import pandas as pd
obj1=Series([1,-2,3,-4])
obj2=Series([1,-5,-9,8],index=['a','b','c','d'])
#可以指定索引来创建Series
print(obj1)
print(obj1.shape)
print(obj1.ndim)
print(obj1.size)
运行结果如下:
也可以通过字典创建Series数据
from pandas import Series,DataFrame
data={
'bob':98,
'john':86,
'mike':70,
'tony':100
}
obj=Series(data)
obj.name='math'
#Series对象可以重命名
obj.index.name='student'
#索引可以重命名
print(obj)
运行结果如下:
创建DataFrame数据
创建DataFrame数据的方法有很多,最常用的就是传入由数组ndarray,列表list或元组tupe组成的字典,实例如下
import numpy as np
from pandas import Series,DataFrame
import pandas as pd
data={
'name':['ZhangSan','LiSi','WangWu','XiaoMing'],
'sex':['female','male','female','female'],
'year':[2001,2002,2005,1999],
'city':['Beijing','Shanghai','Guangzhou','Beijing']
}
df=DataFrame(data,columns=['name','sex','year','city'], index=['a','b','c','d'])
#通过column指定列索引的顺序
print(df)
运行结果如下:
pandas的索引操作
重新索引
索引对象是无法修改的,但是可以通过reindex() 对Series数据和DataFrame数据重新索引,Series数据重新索引实例如下:
import numpy as np
from pandas import Series,DataFrame
import pandas as pd
obj1=Series([1,-2,3,-4],index=[0,2,3,5])
print(obj1)
obj2=obj1.reindex(range(6),