pandas数据结构:系列,数据帧,面板。较高维数据结构是其较低维数据结构的容器
|数据结构 |维数 |描述
|系列|1|1D标记均匀数组,大小不变
|数据帧 |2 |一般2D标记,大小可变的表结构与潜在的异质类型的列
|面板|3|一般3D标记,大小可变数组
特性:
可变性:所有pandas的数据结构是值可变的(可以更改),除了系列都是大小可变的,系列是大小不变的
系列
系列:具有均匀数据的一维数组结构
关键点:均匀数据,尺寸大小不变,数据的值可变
数据帧
数据帧是一个具有异构数据的二维数组。各列数据类型可以不同
关键点:异构数据,大小可变,数据可变
面板
面板是具有异构数据的三维数据结构。在图形表示中很难表示面板,但是一个面板可以说明为DataFrame的容器。
关键点:异构数据,大小可变,数据可变
创建series对象
import pandas as pd
s = pd.Series([1,3,4,np.nan,6,8])
print(s)
结果:
0 1.0
1 3.0
2 4.0
3 NaN
4 6.0
5 8.0
dtype: float64
创建DataFrame对象
import pandas as pd
dates=pd.date_range('20190301',periods=7)
df=pd.DataFrame(np.random.randn(7,4),index=dates,columns=list('ABCD'))
print(df)
通过转换字典来创建DataFrame
df2=pd.DataFrame({'A':1.,
'B':pd.Timestamp('20190302'),
'C':pd.Series(1,index=list(range(4)),dtype='float32'),
'D':np.array([3]*4,dtype='int32'), //list列表,[3]重复4次
'E':pd.Categorical(["test","train","test","train"]), //分类类型
'F':'foo'
})
结果:
A B C D E F
0 1.0 2019-03-02 1.0 3 test foo
1 1.0 2019-03-02 1.0 3 train foo
2 1.0 2019-03-02 1.0 3 test foo
3 1.0 2019-03-02 1.0 3 train foo
查看框架的顶部和底部的数据行
dates=pd.date_range('20190301',periods=7)
df=pd.DataFrame(np.random.randn(7,4),index=dates,columns=list('ABCD'))
print(df.head()) //默认前五行
print(df.tail(3))
df.index //查看行名
df.columns //查看列名(表头)
df.values //查看列表值
df.describe() //描述统计信息(以列作为单位,元素数,平均值,标准差,最小值,25%,50%(中位数),75%,最大值)
df.T //查看转置