没有合适的资源?快使用搜索试试~ 我知道了~
首页使用Python(pandas库)处理csv数据
使用Python(pandas库)处理csv数据
36 下载量 133 浏览量
更新于2023-03-03
评论 4
收藏 660KB PDF 举报
(注:本文写于做毕设期间,有处理大量csv文件的需要,故使用python强大的库资源来处理数据,希望对有需要的你提供帮助和启发) 使用Python(pandas)处理数据 原始数据和处理之后的样式 图中为一个csv文件,待处理的csv文件总共有2410个 原始数据 处理样式 1.导入os、pandas和numpy库 import os import pandas as pd import numpy as np 2.筛选出csv文件中的指定行(列) time = pd.read_csv(info, skiprows=[0], nrows=1, usecols=[6], header=Non
资源详情
资源评论
资源推荐
使用使用Python(pandas库库)处理处理csv数据数据
(注:本文写于做毕设期间,有处理大量csv文件的需要,故使用python强大的库资源来处理数据,希望对有需要的你提供帮助和启发)
使用使用Python(pandas)处理数据处理数据
原始数据和处理之后的样式原始数据和处理之后的样式
图中为一个csv文件,待处理的csv文件总共有2410个
原始数据原始数据
处理样式处理样式
1.导入导入os、、pandas和和numpy库库
import os
import pandas as pd
import numpy as np
2.筛选出筛选出csv文件中的指定行(列)文件中的指定行(列)
time = pd.read_csv(info, skiprows=[0], nrows=1, usecols=[6], header=None) # 遍历时间 但一个csv只读一次
rss = pd.read_csv(info, skiprows=[0], usecols=[4], header=None) # 空掉第一行 遍历所有csv文件的rss列
pd.read_csv()的参数()的参数
1.filepath_or_buffer : 各种文件的路径(a str,pathlib.Path或py._path.local.LocalPath),URL(包括http,ftp和S3位置)或带有read()方法的任何对象(例如打开的文件或
StringIO)
2.skiprows=[ ] : 指定读取csv文件时忽略的行号
3.nrows = 1: 指定读取的行数为1,即只读取第一行
4.usecols= [] : 指定读取的列数的列号
5.header = None : 指定不读取原始数据的表头即列名1
3.利用数组和利用数组和numpy进行转置进行转置
arr_time = time.values
arr_t_T = arr_time.reshape(np.size(arr_time, 1), np.size(arr_time, 0)) # 利用numpy返回的行数和列数,再将其给数组的reshape方法
arr_rss = rss.values
arr_rss_T = arr_rss.reshape(np.size(arr_rss, 1), np.size(arr_rss, 0)) # 利用numpy返回的行数和列数,再将其给数组的reshape方法
1.数组的reshape函数:reshape()是数组array中的方法,作用是将数据按行列重新组织
2.np.size:如果传入的参数只有一个,则返回矩阵的元素个数
如果传入的第二个参数是0,则返回矩阵的行数
如果传入的第二个参数是1,则返回矩阵的列数
data_t = pd.DataFrame(arr_t_T)
data_r = pd.DataFrame(arr_rss_T) # 赋值给相应的DataFrame
再将其传给相应的DataFrame.
pandas也可以用转置的方法输出,不过在本文中因为有后续操作,所以用数组和numpy完成转置,不易出错。
4.遍历整个文件夹中的遍历整个文件夹中的csv文件文件
for info in os.listdir('H:/Ex 1.12'):
domain = os.path.abspath('H:/Ex 1.12')
info = os.path.join(domain, info) # 遍历整个文件夹
利用利用os模块的方法和模块的方法和for循环实现遍历文件夹的功能循环实现遍历文件夹的功能
1.os.listdir(path): path为目标文件夹路径 返回:指定路径下的文件和文件夹列表
2.os.path.abspath(file): 获取当前文件的绝对路径
3.os.path.join()函数: 连接两个或更多的路径名组件;如果各组件名首字母不包含’/’,则函数会自动加上 ;如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃;如
果最后一个组件为空,则生成的路径以一个’/’分隔符结尾
**
这个循环中先是获取目标路径文件夹中的所有文件,再将其转为绝对路径,这样在下一步这个循环中先是获取目标路径文件夹中的所有文件,再将其转为绝对路径,这样在下一步
os.path.join
功能中跳过已经读取过的文件,从而完成遍历操作。功能中跳过已经读取过的文件,从而完成遍历操作。
5.利用利用pd.concat在在csv文件中添加一列(行)文件中添加一列(行)
lb1 = pd.DataFrame({'label': ['Ex 1.12']})
data_l = pd.DataFrame(lb1) # 增加label列
首先利用之前的循环结构得到一个列名为label,内容全为Ex1.12的1*2410的列表
database_1 = pd.concat([data_t, data_r], axis=1, sort=False)
database_2 = pd.concat([database_1, data_l], axis=1, sort=False) # 整合三个DataFrame
weixin_38640443
- 粉丝: 10
- 资源: 887
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0