鱼C论坛

 找回密码
 立即注册
查看: 2460|回复: 2

[学习笔记] pandas数组及DataFrame的索引及切片操作

[复制链接]
发表于 2020-10-27 01:17:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Handsome_zhou 于 2022-5-18 09:05 编辑

对于pandas的dateframe和series,要想掌握它,最好的办法就是使用它。

pandas模块为已经具有丰富的数据结构的python增加了两个新的数据容器:Series和DataFrame。
Series是具有标签的(也就是具有索引的)一维矢量。dataframe是一个行和列都具有标签的表格,它与Excel表格和MySql表格并无不同。dataframe的每一个列都是一个series。除了一些特殊情况外,pandas对dataframe和series的处理方式是相似的。

frame和series不是简单的存储容器,他们都内置了进行各种数据整理操作的工具。如:
一、单极和分级索引
二、处理缺失数据
三、对整个列和表进行算术和布尔运算
四、数据库类型的操作(比如合并和聚合)
五、绘制各个列和整个表格
六、从文件读取数据并将数据写入文件

frame和series非常方便,当你在处理一维或二维表格数据时,都应该使用它们。

pandas的文件读写功能很强大,其输入输出功能一方面可以实现frame和series之间的数据交换,另一方面能实现CVS文件、表格文件、固定宽度文件、JSON文件、操作系统剪贴板等之间的数据交换。
读取CVS文件:
      函数read_cvs()根据文件名或者打开的文件的句柄,从指定的CSV文件中读取一个frame。该函数具有近50个可选参数,他是处理CSV文件的瑞士军刀。
      read_csv()函数的部分重要参数如下:
      sep或delimiter:列分隔符。
      header:作为列名的行号。如果你有自己的列名列表,则传递None。
      index_col:作为索引的列名。
      names:列名列表

由于我比较笨,对相对路径一直不太感冒,所以采用绝对路径的方式读取文件。

示例代码:
import numpy as np
import pandas as pd
from datetime import datetime

path = 'D:\\xap.csv'
df = pd.read_csv(path,encoding='UTF-8')
#将字符串索引转换成时间索引
df['date'] = pd.to_datetime(df['date'])
#将DateFrame转换成Series
ts = pd.Series(df['value'].values,index=df['date'])

#ts.head()
#ts.axes
#ts['2004']
#ts.head().index
#ts['2005-01-19']
#ts[datetime(2005,1,18)]
#ts['2005']
#切片操作
ts['2004-12':'2005-2']
部分运行结果:


numpy数组切片示例:
01.png
02.png
03.png
04.png
05.png


对dataframe取行或列的操作:
import pandas as pd

data = pd.DataFrame(data)

data_column2= data.iloc[:,:1]#取第一列

data_raw2 = data.iloc[:1,:]#取第一行

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-27 08:00:35 From FishC Mobile | 显示全部楼层
加油,最近也在看pandas视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-27 09:35:38 | 显示全部楼层
大志若愚 发表于 2020-10-27 08:00
加油,最近也在看pandas视频

嗯嗯,一起加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 00:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表