pandas对于文件数据基本操作,数据处理常用

news2024/11/19 3:40:59

基本操作

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple (安装包) 清华安装
例如

 pip3 install --index-url https://pypi.douban.com/simple pandas

国内的其他镜像源
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

数据导入

# 以下两种效果一样,如果是网址它会自动下载数据到内存
import pandas as pd
df = pd.read_excel('https://www.gairuo.com/file/data/team.xlsx')
df = pd.read_excel('team.xlsx') # 文件在 notebook 文件同一目录下
# 如果是 csv 的话使用 pd.read_csv() ,还支持很多类型的数据读取

但是有时候一个表里面会有很多个表单例如下面情况
这个时候我们需要用到这个

df = pd.read_excel('a.xlsx',sheet_name= 'Sheet1'#当sheet_name= None即读取全部数据

在这里插入图片描述

保存数据

df.to_excel('team-done.xlsx') # 导出 excel
df.to_csv('team-done.csv') # 导出 csv

加载数据集

df.shape # (100, 6) 查看行数和列数
df.info() # 查看索引、数据类型和内存信息
df.columns # 列名
#上面的比较常用
df.describe() # 查看数值型列的汇总统计
df.dtypes # 查看各字段类型
df.axes # 显示数据行和列名

#常用查看数据组成情况的
df["列名"].value_counts()
#查看缺失值
df['店面情况'].isnull().sum()
#查看重复值
df['单号详细'].duplicated()

数据基本处理

类型处理

类型转换

#类型转换
df[a] = df[a].apply(lambda x: float(x))

独热编码

#独热编码,i为列名
total_df[i] = LabelEncoder().fit_transform(total_df[i])

删除(按照条件,索引,列行)

#删除NaN值
df.dropna(axis=1)
df.dropna(axis=0,how="all",inplace=True)#全部为nan才删除
#有一个就删除此行删除空值
df.dropna(axis=0, how='any', inplace=True)
#参数axis为0表示在0轴(列)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的行。
data.drop("姓名",axis = 0)
#参数axis为0表示在1轴(行)上搜索名为“姓名”的对象,然后删除对象“姓名”对应的列。
data.drop("姓名",axis = 1)
#删除data中索引为0和1的行
data.drop(index = [0,1])
#按照条件删除
df.drop(df[df['学历要求']==i].index)

空数据填充

填充前一个值

#数据填充
train_data.fillna(method='pad', inplace=True) # 填充前一条数据的值
train_data.fillna(method='bfill', inplace=True) # 填充后一条数据的值

df表处理

#pandas转置
df = df.T

合并两个DataFrame

newdf = pd.concat(A,B],axis=1)
newdf.columns=[Aname,Bname]#赋予列名

排序

# 按照指定值排序
df['点菜明细'].sort_values('消费金额', ascending=False)

数据提取

#提取所有数据
data.iloc[:,:]
# 提取第0、1行,第0、1列中的数据
data.iloc[[0,1],[0,1]]
提取A列中数字为0,且B列中数值为1所在行的数据
data.loc[(data['A']==0) & (data['B']==1)]
#出现名字-次数
labs = df["name"].value_counts()

数据处理函数

函数

合并两个文件csv,保存为新的csv

excel的话改一下就好了,这里后面演示类似的

def hebingcsv(A,B,writer_file)
    """
    A文件路径
    B文件路径
    writer_file输出的文件路径,若是excel则修改csv为excel即可
    """
	A= pd.read_csv(A)
	B= pd.read_csv(B)
	dfs=[]
	dfs.append(A)
	dfs.append(B)
	total_df = pd.concat(dfs)
	total_df.to_csv(writer_file, index = False)

将文件目录下所有的excel合并

csv的话改一下就好了

import os
def codir_excel(path,writer_file):
    """
    path文件路径
    writer_file输出的文件路径,若是csv则修改excel为csv即可
    """
    dfs=[]
    for file_name in os.listdir(path):
        Path_excel = os.path.join(path,file_name)
        df = pd.read_excel(Path_excel)
        dfs.append(df)
    total_df = pd.concat(dfs)
    total_df.to_excel(writer_file, index = False)

将两个列表合成csv格式

def helist(A,B,Aname,Bname):
	"""
	A、B要合并的列表
	Aname、Bname合并列表的列名
	"""
	newdf = pd.concat([pd.DataFrame(A),pd.DataFrame(B)],axis=1)
	newdf.columns=[Aname,Bname]
	return newdf
#示范
helist(A,B,Aname,Bname).to_excel(writer_file, index = False)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

作为程序员的你,常用的软件有哪些?

作为一个合格程序员的你,必须要有一套用起来得心应手的软件工具,有了好的工具才能够让自己的工作效率达到事半功倍的效果。下面我以常见的编程开发软件和数据库管理软件为例,简单介绍几种,感兴趣的朋友可以尝试一下:一…

并发编程学习(六):park、unpark

1、 park、unpark介绍 park、unpark它们是LockSupport类中的方法,内部调用的是Unsafe类中的native方法。 // 暂停当前线程,暂停后,线程状态变为 WAITING LockSupport.park(); // 恢复某个线程的运行,恢复后线程状态变为RUNNING Lo…

炸弹(二分图最大匹配 = 二分图最小顶点覆盖)

D-炸弹_2022图论班第一章图匹配例题与习题 (nowcoder.com) 看题解前先理解二分图最小点集覆盖 最大匹配 一、什么是最小点覆盖 点覆盖的概念定义: 对于图G(V,E)中的一个点覆盖是一个集合S⊆V使得每一条边至少有一个端点在S中。 最小点覆盖:点个数最少的…

《编译原理》实验一:熟悉实验环境VSCode并完成正则表达式转换为NFA

目录 实验一 熟悉实验环境VSCode并完成正则表达式转换为NFA 一、实验目的 二、预备知识 三、实验内容 VSCode的基本使用方法 安装和启动VSCode VSCode的窗口布局 使用VSCode将项目克隆到本地磁盘 使用VSCode登录平台 查看项目中的文件 实验源代码 演示程序的执行过程 四、实验过…

LeetCode Hot 100~Day2

目录 三数之和 电话号码的字母组合 括号生成 合并k个升序链表 下一个排列 搜索旋转排序数组 在排序数组中查找元素的第一个和最后一个位置 组合总数 全排列 旋转图像 三数之和 题目链接:15.三数之和 示例 输入:nums [-1,0,1,2,-1,-4] 输…

金山云将于12月30日在港交所上市:不发行新股,王育林已辞职

12月23日,金山云(NASDAQ:KC,HK:03896)发布公告称,拟通过介绍方式在港交所主板上市,代码为“03896”。按照计划,金山云将于2022年12月30日正式登陆港交所,不发行新股融资。 据贝多财…

我写这10+个JavaScript单行代码,被组长夸代码写得优雅!

大厂面试题分享 面试题库 前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 JavaScript 非常大的特点容易上手且非常灵活,代码实现方式五花八门;有时候能一行代码解决,就尽量不用…

MES系统与WMS系统的区别在哪里?

从字面上理解 MES是一套面向制造企业车间执行层的生产信息化管理系统。 WMS是仓储管理系统(WarehouseManagentsystem)的缩写,是通过入库、出库、调拨、管理等功能,实现一体化批量管理。 从用法上理解 WMS仓库管理系统主要采用条码技术,可及…

认识 微内核架构

微内核架构 1 说明背景 关于宏内核、微内核、混合内核,都是相对而言的概念。 宏内核: 通用的操作系统,将操作系统内核的所有模块放置在内核态运行,具备直接操作硬件的能力。例如 UNIX/Linux, FreeBSD 等微内核: 简单的操作系统,…

深度学习训练营之海贼王人物识别

深度学习训练营之海贼王人物识别原文链接环境介绍前置工作设置GPU导入数据数据查看数据预处理加载数据可视化数据检查数据配置数据集prefetch()功能详细介绍:归一化查看归一化后的数据构建VGG-16网络网络结构编译模型训练结果可视化原文链接 🍨 本文为&a…

ELK集群部署---ElasticSearch集群的部署

1. 环境规划: 主机名IP地址角色node1192.168.56.111 ElasticSearch(master) Zookeeper Kafka node2192.168.56.112 ElasticSearch(slave) Kibana Zookeeper Kafka node3192.168.56.113 ElasticSearch(slave) Zookeeper Kafka node4192.168.56.114 Logstash Filebe…

4. Json数据传递与接收

由于Json数据传递与接收在以后的开发中是主流&#xff0c;所以把它拿出来独立记一篇笔记&#xff0c;其他的笔记太庞杂了。 1. json数据参数传递实现步骤 1.1 添加json数据转换相关坐标 <dependency><groupId>com.fasterxml.jackson.core</groupId><ar…

HBCPC2022-河北省大学生程序设计竞赛

部分题解7-4 键盘故障7-6 筷子7-8 方7-9 优美的字符串7-4 键盘故障 签到题&#xff0c;直接遍历字符串&#xff0c;相同则跳过&#xff0c;不相同则输出 题目链接&#xff1a;https://pintia.cn/problem-sets/1584003400735793152/exam/problems/1584003481883000835 AC代码&a…

业聚医疗在港交所上市:市值约76亿港元,钱永勋、刘桂祯夫妇控股

12月23日&#xff0c;业聚医疗集团控股有限公司&#xff08;下称“业聚医疗”&#xff0c;HK:06929&#xff09;在港交所上市。本次上市&#xff0c;业聚医疗的发行价为8.80港元/股&#xff0c;全球发行发售5463.30万股&#xff0c;募集资金总额约为4.81亿港元&#xff0c;募资…

java基于ssm,jsp鞋城源码卖鞋服装男鞋商城女鞋商城项目源码

ssm开发的网上鞋城系统&#xff0c;主要有商品分类&#xff0c;列表&#xff0c;详情&#xff0c;加入购物车&#xff0c;订单&#xff0c;收货地址等功能&#xff0c;单商家登录后台可以发布商品&#xff0c;上下架商品&#xff0c;发货退款等管理订单。 演示视频&#xff1a;…

【开源项目】历史数据迁移

历史数据迁移 项目地址&#xff1a;https://gitee.com/xl-echo/dataMigration 历史迁移解决方案。微服务的架构为基础&#xff0c;使用多种设计模式&#xff0c;如&#xff1a;单利、桥接、工厂、模板、策略等。其中涉及的核心技术有&#xff0c;多线程、过滤器等。致力于解决…

django 中间件基础介绍

1、简单的理解&#xff0c;1个中间件就是1个类&#xff0c;中间件一般可以用来检查用户是否登录。 2、用户通过浏览器访问视图函数的内容需要先通过中间件&#xff0c;通过中间件后再到视图函数&#xff0c;返回结果也需要通过中间件&#xff0c;如下草图 3、自定义一个中间件…

一文读懂Linux内核处理器架构中的栈

栈是什么&#xff1f;栈有什么作用&#xff1f; 首先&#xff0c;栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out)&#xff0c;数据只能在串列的一端 (称为&#xff1a;栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据…

基于CNN卷积神经网络 猫狗图像识别

目录 一&#xff1a;数据集准备 二&#xff1a;读取自己的数据集 三&#xff1a;搭建网络 训练模型 四&#xff1a;猫狗图像识别 一&#xff1a;数据集准备 从官网下载比较麻烦&#xff0c;可根据以下链接&#xff0c;从百度网盘获取数据集 https://pan.baidu.com/s/13hw4L…

【Docker系列】容器环境配置

个人名片&#xff1a; 对人间的热爱与歌颂&#xff0c;可抵岁月冗长&#x1f31e; Github&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff1a;念舒_C.ying CSDN主页✏️&#xff1a;念舒_C.ying 个人博客&#x1f30f; &#xff1a;念舒_C.ying Docker可以让开发者打包他们…