栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python数据分析-pandas基础-1-常用类

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python数据分析-pandas基础-1-常用类

Series基本数据结构,一维标签数组,能够保存任何数据类型
Dataframe基本数据结构,一般为二维数组,是一组有序的列。
Index索引对象,负责管理轴的相关内容
groupby分组对象
Timestamp时间戳对象,表示时间轴上的一个时刻。
Timedelta时间差对象,用来计算两个时间点的差值。
一、Series

由一组数据以及一组与之对应的标签(索引)组成。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])

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号