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
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
类似于数据库中的表,每个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对象为其余pandas对象存储轴标签、管理轴标签和其他元数据。
1.创建
可以通过pd.Index函数创建,也可以在创建其他对象时传入index参数的值创建。
常用属性:
is_monotonic当Index的各元素均大于前一个元素时,返回Trueis_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])
Original: https://blog.csdn.net/weixin_44020827/article/details/121500351
Author: Caspian�
Title: Python数据分析-pandas基础-1-常用类
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/674429/
转载文章受原作者版权保护。转载请注明原作者出处!