| Series | 基本数据结构,一维标签数组,能够保存任何数据类型 |
| Dataframe | 基本数据结构,一般为二维数组,是一组有序的列。 |
| Index | 索引对象,负责管理轴的相关内容 |
| groupby | 分组对象 |
| Timestamp | 时间戳对象,表示时间轴上的一个时刻。 |
| Timedelta | 时间差对象,用来计算两个时间点的差值。 |
由一组数据以及一组与之对应的标签(索引)组成。Series可以视作Numpy中的ndarray。
1.创建
pd.Series(data,index,name)
data:接收array或dict。
index:接收array或list,表示索引,必须与data长度相同。
import pandas as pd import numpy as np pd.Series(data=np.arange(5),index=['a','b','c','d','e'],name='ndarray') > a 0 b 1 c 2 d 3 e 4 Name: ndarray, dtype:int32
通过字典创建:
不必设置index的值,字典的键key自动作为其索引。
dict={'a':0,'b':1,'c':2,'d':3,'e':4}
pd.Series(dict)
>
a 0
b 1
c 2
d 3
e 4
dtype: int64
Series的常用属性:
| values | 以ndarray的格式返回Series的所有值 |
| index | 返回索引 |
| dtype | 数据类型 |
| shape | 形状 |
| nbytes | 字节数 |
| ndim | 维度 |
| size | 返回对象个数 |
| T | 转置 |
2.访问
dict={'a':0,'b':1,'c':2,'d':3,'e':4}
series=pd.Series(dict)
series[1]
>1
series['b']
>1
series[series<4]
>
a 0
b 1
c 2
d 3
dtype: int64
3.更新、插入、删除
#更新直接进行赋值即可
series['a']=100
series
>
a 100
b 1
c 2
d 3
e 4
dtype: int64
#插入新元素:append
series1=pd.Series({'f':5,'g':6})
series.append(series1)
>
a 100
b 1
c 2
d 3
e 4
f 5
g 6
dtype: int64
#插入单个数据,直接赋值即可
series['f']=6
series
>
a 100
b 1
c 2
d 3
e 5
f 6
dtype: int64
#删除元素:drop
#inplace=True表示同时更改原序列
series.drop('e',inplace=True)
series
>
a 100
b 1
c 2
d 3
f 6
dtype: int64
二、Dataframe
类似于数据库中的表,每个Series可以看作Dataframe的一列。
1.创建
pd.Dataframe(data,index,columns)
index为索引,即行标签。
columns为列名,即列标签。
#通过字典创建
dict={'col1':[0,1,2,3,4],'col2':['a','b','c','d','e']}
pd.Dataframe(dict,index=['A','B','C','D','E'])
>
col1 col2
A 0 a
B 1 b
C 2 c
D 3 d
E 4 e
常用属性:
| values | 以ndarray的格式返回所有值 |
| index | 返回索引 |
| dtypes | 数据类型 |
| shape | 形状 |
| columns | 列标签 |
| ndim | 维度 |
| size | 返回对象个数 |
| axes | 轴标签 |
dict={'col1':[0,1,2,3,4],'col2':['a','b','c','d','e']}
df=pd.Dataframe(dict,index=['A','B','C','D','E'])
df.index
>Index(['A', 'B', 'C', 'D', 'E'], dtype='object')
df.columns
>Index(['col1', 'col2'], dtype='object')
df.axes
>[Index(['A', 'B', 'C', 'D', 'E'], dtype='object'),
Index(['col1', 'col2'], dtype='object')]
2.访问首尾元素
df.head() > col1 col2 A 0 a B 1 b C 2 c D 3 d E 4 e df.tail(1) > col1 col2 E 4 e
3.更新、插入、删除
#更新:直接赋值
df['col1']=[2,3,4,5,6]
df
>
col1 col2
A 2 a
B 3 b
C 4 c
D 5 d
E 6 e
#插入:直接赋值
df['col3']=[5,6,7,8,9]
df
>
col1 col2 col3
A 2 a 5
B 3 b 6
C 4 c 7
D 5 d 8
E 6 e 9
#删除
#drop(labels,axis,inplace)
#axis=0为删除行,axis=1为删除列。
df.drop('A',axis=0,inplace=True)
df
>
col1 col2 col3
B 3 b 6
C 4 c 7
D 5 d 8
E 6 e 9
三、index
Index对象为其余pandas对象存储轴标签、管理轴标签和其他元数据。
1.创建
可以通过pd.Index函数创建,也可以在创建其他对象时传入index参数的值创建。
常用属性:
| is_monotonic | 当Index的各元素均大于前一个元素时,返回True |
| is_unique | 当Index没有重复值时,返回True |
2.常用方法
index1=series.index index2=df.index index1.append(index2)#连接 > Index(['a', 'b', 'c', 'd', 'f', 'B', 'C', 'D', 'E'], dtype='object') index1.difference(index2)#差集 >Index(['a', 'b', 'c', 'd', 'f'], dtype='object') index1.intersection(index2)#交集 >Index([], dtype='object') index1.union(index2)#并集 >Index(['B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'f'], dtype='object') index1.isin(index2) >array([False, False, False, False, False])



