IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 数据分析:Pandas基础 -> 正文阅读

[Python知识库]数据分析:Pandas基础

Pandas中两个常用的类(两种不同的数据结构):Series、DataFrame

Series

????????Series是一种类似于一维数组的对象,由两部分组成:

  • values:一组数据(ndarray类型)
  • index:相关的数据索引标签
from pandas import Series

Series的创建

  • 由列表或numpy数组创建
  • 由字典创建

????????Series参数:data(数据源)、index(索引)

list作为数据源

ss=Series([1,2,3,'four'])
输出:
0       1
1       2
2       3
3    four
dtype: object

ndarray作为数据源

ss=Series(np.random.randint(0,100,(5,)))  #(m,n)不可以,因为二维,(m,)、m 这俩一维 

字典作为数据源

dic={'语文':100,数学:99,'英语',425}
ss=Series(data=dic)
输出:
语文    100
数学     99
英语    425
dtype: int64

?Series的索引和切片

ss[0]   #100
s.语文  #100
s[0:2]  
#输出
  语文    100
  数学     99
  dtype: int64

Series的常用属性

? ? ? ? s.shape:返回形状

? ? ? ? s.size:返回元素个数

? ? ? ? s.index:返回索引

? ? ? ? s.values:返回value值

? ? ? ? s.dtype:返回元素类型(Series也只能保存同一类型的数据)

ss=Series([1,2,3,'four'])
ss.dtype     #dtype('O') 数据类型O表示Object(字符串类型)

Series的常用方法

  • head(),tail()
  • unique()
  • isnull(),notnull()
  • add(),sub(),mul(),div()? ? 和运算符一样的效果
ss=Series(np.random.randint(0,100,(10,)))

ss.head(n)     #显示前n个数据
ss.tail(n)     #显示后n个数据

ss.unique()    #去重

s.isnull()     #用于判断每一个元素是否为空,为空返回Ture,否则False
s.notnull()

Series的算术运算

? ? ? ? 法则:索引一致的元素进行算术运算,否则补空NAN

ss=Series([1,2,3],index=['a','b','c'])
sss=Series([1,2,3],index=['a','d','c'])

ssss=ss+sss

#输出
a    2.0
b    NaN
c    6.0
d    NaN
dtype: float64

DataFrame

????????DataFrame是一个【表格型】数据结构,由按一定顺序排列的多列数据组成。DataFrame既有行索引,也有列索引。

  • 行索引:index
  • 列索引:columns
  • 值:values
from pandas import DataFrame

DataFrame的创建

#创建方式一:列表
DataFrame(data=[[1,2,3],[4,5,6]])
#创建方式二:ndarray
DataFrame(data=np.random.randint(0,100,size=(6,4))
#创建方式三:字典
dic={'name':['张三','李四','王五'],'salary':[1000,2000,3000]}
DataFrame(data=dic) #左
DataFrame(data=dic,index=['a','b','c']) #右

?

?DataFrame的属性

df=DataFrame(data=[[1,2,3],[4,5,6]])

df.values    #返回二维形式的数据
df.index     #返回行索引
df.columns   #返回列索引
df.shape     #返回形状

?DataFrame的索引操作

  • 对行索引
  • 对列索引
  • 对元素索引
#取列(这种方式只能取列)
df=DataFrame(data=np.random.randint(0,100,size=(6,4),columns=['a','b','c','d'])
df['a']  #取列,如果df有显示索引,只可以使用显式索引,没有显式索引,就可以用隐式索引
df[['a','c']]  #取多列一定要是二维的

#取行
df.iloc[0]            #取单行
df.iloc[[0,3,5]]      #取多行

df.loc[0]             #取单行(一定用显式索引)
df.iloc[[0,3,5]]      #取多行(一定用显式索引)

?

? ? ? ? iloc:通过隐式索引取行

? ? ? ? loc:通过显示索引取行

#取元素
#取单个元素
df.iloc[0,2]    #取出隐式索引[0,2]对应的值
df.loc[0,'a']   #取出显式索引[0,'a']对应的值

#取多个元素
df.iloc[[0,2,4],2]

??DataFrame的切片操作

  • ?对行切片
  • 对列切片
#行
df[0:2]    #前两行

#列
df.iloc[:.0:2]

???DataFrame的运算

? ? ? ? 同Series

? ?时间数据类型的转换

dic={'time':['2010-10-10','2011-11-20','2020-01-10'],'temp':[33,31,30]}
df=DataFrame(data=dic)
df.dtype    #dtype('O')

#将time列的数据类型转换成时间序列类型
df['time']=pd.to_datetime(df['time'])    #dtype:datetime64[ns]

? ?将某一列设置为行索引

#将time列作为行索引
df.set_index('time')                 #这样原始的df没有改变,只是生成了一个新的df
df.set_index('time',inplace=True)    #这样就把原始的df替代了

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:42:32  更:2021-12-02 16:44:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:35:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码