一、CSV 文件

CSV 文件(逗号分隔值文件)是一种纯文本文件,使用特定的结构来排列表格数据。由于是一个纯文本文件,所以只能包含实际的文本数据,换句话说就是可打印的 ASCII 或 Unicode 字符。

数据是用逗号分隔的,通常第一行是数据列的名称,之后的每一行都是实际数据,并且受文件大小限制。通常分隔符( , )逗号不是唯一使用的。其他流行的分隔符包括制表符 ( \t )、冒号 ( : ) 和分号 ( ; ) 字符。

二、CSV文件是从何而来?

CSV 文件通常由处理大量数据的程序创建,是从电子表格和数据库中导出数据以及在其他程序中导入或使用的数据。例如可以将数据挖掘程序的结果导出为 CSV 文件,然后将其导入电子表格以分析数据、生成图表以进行演示或准备发布报告。

CSV 文件非常容易以 Python 编程方式处理,可以直接处理 CSV 文件。

三、CSV文件处理

1、导入常用包 

2、 文件读取

data=pd.read_csv('D:\jupyter\股票数据.csv')
data

 3、查看有哪些列

 4、 查看数据信息

 5、csv文件没有列名称,那么默认使用第一行数据自动填充标题

6、无表头,header=None 不用数据自动填充标题,自动生成索引下标标题

 7、可以使用names自定义设置列名

 8、使用index_col设置索引列

 9、设置层次化索引

(1)原数据tips

(2)写入到csv文件中

#获得数据
df=pd.DataFrame(dd)
#写入到csv文件中
df.to_csv('d:/tips.csv',sep=',')

(3)读取tips文件

data=pd.read_csv(r'd:/jupyter/tips.csv')
data

(4) 设置多列索引

data=pd.read_csv(r'd:/jupyter/tips.csv',index_col=['smoker','time'])
data
# data.head()

10、如何解决中文问题

pd.read_csv(r'd:/jupyter/test3.csv')

 发生异常:

解决:使用encoding 指定文件的编码格式

  (1)先找到这个文件是何编码

 (2)再使用encoding='ANSI'

 11、数据是否为空,使用pd.isnull(data)

12、使用na_values=0 ,也就是把0置为空

四、TXT文本文件处理

#使用open()打开文件
list(open('d:/jupyter/test2.txt'))

(1)使用read_table()读取文件

 (2)使用正则表达式sep=‘\s+'来解决空格问题

da=pd.read_table(r'd:/jupyter/test2.txt',sep="\s+")
da

(3)使用skiprows跳过0和1行

# skiprows跳过0和1行
pd.read_table(r'd:/jupyter/test2.txt',sep="\s+",skiprows=[0,1])

五、按块读取数据

  (1) 源数据


#244行数据
tips=pd.read_csv(r'd:/jupyter/tips.csv',index_col=0)
tips

(2)nrows=n,是从文件头开始 ,文件的行数。

 (3)chunksize=100 文件块

六、统计每个时间出现的次数


#迭代器只能读取一次,要重新用chunk,一定要注意read_csv()按块读取
tips=pd.read_csv(r'd:/jupyter/tips.csv',index_col=0,chunksize=100)
#使用Series存放数据
tt=pd.Series([],dtype='float64')
#迭代数据
for tip in tips:
#     print(tip)#value_counts()统计值的次数
#     print(tip['time'].value_counts())tt=tt.add(tip['time'].value_counts(),fill_value=0)# 降序排序
tt.sort_values(ascending=False)
tt

七、生成数据源

# import numpy as np
#循环500次
columnss=[f'股票{i}' for i in range(500)]#时间序列做为索引,生成Series一维数组
#参数 2022-09-10开始时间,
# periods指定生成时间序列的数量
# freq生成频率,默认‘D’,可以是’H’、‘D’、‘M’、‘5H’、‘10D
indexs=pd.date_range('2022-09-10',periods=506,freq='D')
#数据
datas=np.random.normal(0,3,(506,500))
df=pd.DataFrame(datas,columns=columnss,index=indexs)
df

八、保存数据

1、csv格式 

 注意:在原来的数据上再添加数据 

 2、h5格式

# 保存为h5格式 (金融,天文学,物理,工程等等)
hd=pd.HDFStore('d:/jupyter/store.h5','w')
hd['data']=df
hd.close()

3、excel格式

# 保存为excel格式
df.index.name='日期'
df.to_excel('d:/jupyter/股票2.xlsx',sheet_name='股票涨跌幅百分比',index=True,header=True)

4、json格式

# 保存json数据 (简单数据)
df.to_json('d:/jupyter/股票数据.json')

 5、pickle加盐格式

# 保存为加盐文件
df.to_pickle('d:/jupyter/股票数据加盐.pkl')

九、文件读取对比时间

import time
#开始时间
t1=time.time()
exd=pd.read_csv('d:/jupyter/股票1.csv')
#结束时间
t2=time.time()
print(t2-t1)
#显示数据
exd

读取速度比较:

1.excel

2.csv

3.h5

4.json

5.pkl

Pandas 处理CSV文件数据集(五)相关推荐

  1. 【Pandas】一文入门Pandas处理csv文件数据集(神经网络/机器学习算法数据预处理)

    Motivation 和某个大佬采集的数据是csv格式的,之前没处理过csv格式的数据.拿来写神经网络训练的时候踩了不少坑,这里记录一下,也方便后来人学习. Pandas处理csv文件 处理csv文件 ...

  2. Pandas 操作 csv 文件

    Pandas 操作 csv 文件 官方英文文档 官方文档PDF下载 中文文档 一.安装 Pandas 安装 Pandas: pip3 install pandas 导入 Pandas: import ...

  3. pandas读取csv文件的前几行数据(nrows参数)、pandas读取csv文件的中间几行数据(skiprows=range(a,b))

    pandas读取csv文件的前几行数据(nrows参数).pandas读取csv文件的中间几行数据(skiprows=range(a,b)) 目录 pandas读取csv文件的前几行数据.pandas ...

  4. pandas读取csv文件发生编码(encoding)错误:获取文件编码格式之后再读取文件

    pandas读取csv文件发生编码(encoding)错误:获取文件编码格式之后再读取文件 目录

  5. Python使用pandas保存csv文件:如果文件存在则只添加内容(append),如果无表则同时写入表头和内容(write)

    Python使用pandas保存csv文件:如果文件存在则只添加内容(append),如果无表则同时写入表头和内容(write) 目录

  6. python pandas 读写 csv 文件

    python pandas 读写 csv 文件 具体看官方文档 https://www.pypandas.cn/docs/user_guide/io.html#csv-文本文件 import pand ...

  7. python读取csv文件并修改指定内容-pandas读取CSV文件时查看修改各列的数据类型格式...

    下面给大家介绍下pandas读取CSV文件时查看修改各列的数据类型格式,具体内容如下所述: 我们在调bug的时候会经常查看.修改pandas列数据的数据类型,今天就总结一下: 1.查看: Numpy和 ...

  8. pandas python csv_python:pandas合并csv文件的方法(图书数据集成)

    数据集成:将不同表的数据通过主键进行连接起来,方便对数据进行整体的分析. 两张表:ReaderInformation.csv,ReaderRentRecode.csv ReaderInformatio ...

  9. python pandas 处理相同标题的csv文件_Python使用pandas处理CSV文件的实例讲解

    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指 ...

最新文章

  1. 那个计算机应用没有广告,为什么别人的电脑没有什么广告,而你的电脑一大堆呢?答案在这里...
  2. 【BZOJ】2099: [Usaco2010 Dec]Letter 恐吓信
  3. python 如何封装dll_如何为DLL库创建Python包装器
  4. Python+selenium 自动化-mac下安装配置chrome驱动方法
  5. python算法与数据结构-希尔排序算法(35)
  6. 计算php代码执行时间长短的类(精确到毫秒)
  7. matlab实现二项分布
  8. HDU1284——钱币兑换问题【dp】
  9. c# winform窗体边框风格的设计
  10. 黄聪:is_file和file_exists效率比较
  11. java虚拟机(八)--java性能监控与故障处理工具
  12. 博客,跳出日志的围墙[转]
  13. vue使用echarts错误Failed to mount component: template or render function not defined.
  14. Hadoop配置Yarn
  15. VBM计算操作过程记录
  16. 高颜值生物医学在线画图工具
  17. 基于FPGA的数字时钟
  18. 爬取某位大佬简书上所有文章并保存为pdf
  19. 输入一个字符,是小写转换为大写,大写转换为小写,其他字符原样输出
  20. 推荐系统组队学习03、矩阵分解

热门文章

  1. JavaEE_day35:Servlet-cookie-session
  2. 安卓手机卡顿怎么解决_苹果手机卡顿怎么解决 苹果手机反应慢、卡死机了怎么办...
  3. WampServer 3 访问403 Forbidden You don't have permission to access this resource 解决
  4. 关于c#中winform端程序excel打印和打印预览
  5. python 将多个df写入xlsx文件的ExcelWriter
  6. 视频制作——由图片到视频
  7. 日常小结-RSA加密算法、数字签名和数字证书及其java实现
  8. CSS radial-gradient() 函数 - 用径向渐变创建图像
  9. Python网络编程socket
  10. 算法之傲世笑之-01