博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

pandas 库

Posted on 2020-09-03 16:29  leonsusie  阅读(113)  评论(0)    收藏  举报

 

#python 3.8.5

#pandas

Pandas是Python第三方库,提供高性能易用数据类型和分析工具

官网:pandas.pydata.org

 

1.  导入语句

import pandas as pd

 

函数 说明    
pd.read_csv('music.csv', usecols=['Artist', 'Plays']).values 参数usecols=['','']    

pd.read_csv('music.csv', header=0).values

pd.read_csv('music.csv').values

参数header表示表头

默认第一行为表头

   
       

 df = pd.DataFrame(a)

 将ndarray a转换为pandas.DataFrame

带表头

   

df.to_csv('pd.csv')

将数据存入csv文件

   

data = pd.read_csv('pd.csv')

读取csv文件

   

np.savetxt('np.csv', a, fmt='%.2f', delimiter=',', header='1, 2, 3, 4')

ndarray对应的文件保存

   

2.两个数据类型:Series, DataFrame

 

NumPy Pandas
关注数据的结构表达 关注数据的应用表达
基础数据类型 扩展数据类型
维度:数据间关系 数据与索引间关系

 

3.Series

Series类型可以由如下类型创建:
• Python列表
• 标量值
• Python字典
• ndarray
• 其他函数

数据源  创建代码  
标量值 pd.Series(25,index=['a','b','c'])

 

 

Python字典 data_d=pd.Series({'a':7,'b':8,'c':9},index=['a','b','c'])
 

data_d=pd.Series({'a':7,'b':8,'c':9},index=['a','b','c','d'])

多出来的index 'd' 值为空,NaN

ndarray  data_d=pd.Series(np.arange(5))  
   index也可以用ndarray创建  

Series类型可以由如下类型创建:
• Python列表,index与列表元素个数一致
• 标量值,index表达Series类型的尺寸
• Python字典,键值对中的“键”是索引,index从字典中进行选择操作
• ndarray,索引和数据都可以通过ndarray类型创建
• 其他函数,range()函数等

 

 

Series类型操作

Series类型的操作类似ndarray类型:
• 索引方法相同,采用[]
• NumPy中运算和操作可用于Series类型
• 可以通过自定义索引的列表进行切片
• 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片

   
索引

 

 

自动索引和自动逸索引
切片索引

 

 

条件索引

 

 

 Series对象和索引都可以有一个名字,存储在属性.name中

 

 

Series + Series 

基于索引运算

Series类型在运算中会自动对齐不同索引的数据

 

 

 

 

 

 Series对象可以随时修改并即刻生效  

 

 

   

 

DataFrame类型:pandas多维数据类型

DataFrame类型由共用相同索引的一组列组成

 

 

 

 

 

     
从二维ndarray对象创建 a=pd.DataFrame(np.arange(10).reshape(2,5))    
从一维ndarray对象字典创建  

 

 

 

 

 

 

 

 

 

 

 

对DataFrame进行分组计算

new_series = df.groupby(by=['a'])['b'].sum()
  • # 意思是对字段a进行分组然后通过字段B进行求和汇总
  • # 返回Series类型对象。 a会变成index b则成为值