pands常用操作

1.导入库和文件读取和文件分信息分析

import pandas as pd
import numpy as np
csvf = pd.read_csv('D:/各个站程序版本说明.csv')
csvf.info()'''
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 51 entries, 0 to 50
Data columns (total 6 columns):#   Column  Non-Null Count  Dtype
---  ------  --------------  -----0   A       51 non-null     int641   B       51 non-null     int642   C       51 non-null     int643   D       51 non-null     int644   E       51 non-null     int645   F       51 non-null     int64
dtypes: int64(6)
memory usage: 2.5 KB'''csvf.head()

 

        统计有多少行列,查看形状

       2.增加列

    label = pd.Categorical(xl['交易时间'])print(label)print(label.codes)print(xl.shape)print(xl.columns)s = pd.DataFrame({'A':label.codes})xl = xl.join(s)print(xl.shape)print(xl.columns)

(307, 18)
Index(['运单号', '交易时间', '寄件人', '寄件人手机号', '收件人', '收件人手机号', '寄件地', '到件地', '托寄物名称','产品类型', '交易类型', '主卡号', '副卡号', '支付方式', '消费总金额', '消费本金', '消费赠送金', '消费网点'],dtype='object')
(307, 19)
Index(['运单号', '交易时间', '寄件人', '寄件人手机号', '收件人', '收件人手机号', '寄件地', '到件地', '托寄物名称','产品类型', '交易类型', '主卡号', '副卡号', '支付方式', '消费总金额', '消费本金', '消费赠送金', '消费网点','A'],dtype='object')

        3.删除列

    label = pd.Categorical(xl['交易时间'])print(label)print(label.codes)print(xl.shape)print(xl.columns)s = pd.DataFrame({'A':label.codes})xl = xl.join(s)print(xl.shape)print(xl.columns)del xl['交易时间']print(xl.shape)print(xl.columns)
(307, 18)
Index(['运单号', '交易时间', '寄件人', '寄件人手机号', '收件人', '收件人手机号', '寄件地', '到件地', '托寄物名称','产品类型', '交易类型', '主卡号', '副卡号', '支付方式', '消费总金额', '消费本金', '消费赠送金', '消费网点'],dtype='object')
(307, 19)
Index(['运单号', '交易时间', '寄件人', '寄件人手机号', '收件人', '收件人手机号', '寄件地', '到件地', '托寄物名称','产品类型', '交易类型', '主卡号', '副卡号', '支付方式', '消费总金额', '消费本金', '消费赠送金', '消费网点','A'],dtype='object')
(307, 18)
Index(['运单号', '寄件人', '寄件人手机号', '收件人', '收件人手机号', '寄件地', '到件地', '托寄物名称', '产品类型','交易类型', '主卡号', '副卡号', '支付方式', '消费总金额', '消费本金', '消费赠送金', '消费网点', 'A'],dtype='object')Process finished with exit code 0

2.文件行列访问

        1.查看列信息

csvf.columns
'''
Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object')
'''

         2.列访问

                (1)访问某一列       

csvf['A']
'''
0      2
1      3
2      4
3      5
4      6
5      7
6      8
7      9
......
Name: A, dtype: int64
'''

                 (2)访问几行

                

                (3)访问指定行列 iloc[行:列] 

                (4) 转换为ndarray数组使用 values

                        

                         

3.文件分析

       1.数据分组 groupby,根据列项目相同的分为一组(类似于wps的筛选功能,列条目一样的就分为一组,可以使用列表设置选择几个列)。

print(list(xl.groupby('交易时间')))
#print(list(xl.groupby(['收件人','消费赠送金']))) #根据'收件人'和'消费赠送金'分组

       分组后数据访问:

    for x,y in xl.groupby(['收件人','消费赠送金']):print(type(x),x)print(type(y),y)

[7 rows x 18 columns]
<class 'tuple'> ('马*', 1.5)
<class 'pandas.core.frame.DataFrame'>                  运单号                 交易时间  寄件人  ...  消费本金 消费赠送金     消费网点
1    SF1439857656942  2023-06-30 08:58:06  程*纪  ...  13.5   1.5  总部基地业务部
14   SF1409118353807  2023-06-25 10:42:45  邓*丝  ...  13.5   1.5  总部基地业务部
91   SF1439946551252  2023-06-09 08:50:48  李*平  ...  13.5   1.5  总部基地业务部
145  SF1439654255452  2023-06-06 18:46:12  郭*超  ...  13.5   1.5  总部基地业务部
156  SF1500739309308  2023-06-06 08:35:51  吴*宁  ...  13.5   1.5  总部基地业务部[5 rows x 18 columns]
<class 'tuple'> ('马*', 2.3)
<class 'pandas.core.frame.DataFrame'>                 运单号                 交易时间  寄件人  ...  消费本金 消费赠送金     消费网点
29  SF1445516848370  2023-06-15 17:40:43  王*玉  ...  20.7   2.3  总部基地业务部[1 rows x 18 columns]
<class 'tuple'> ('魏*', 0.0)
<class 'pandas.core.frame.DataFrame'>                  运单号                 交易时间  寄件人  ...  消费本金 消费赠送金     消费网点
219  SF1401907161910  2023-06-04 09:55:04  徐*彤  ...  18.0   0.0  总部基地业务部
226  SF1144693557714  2023-06-03 08:48:05  吴*磊  ...  13.0   0.0  总部基地业务部
249  SF1455224508209  2023-06-02 19:12:41  马*民  ...  13.0   0.0  总部基地业务部
255  SF1455384435201  2023-06-02 17:13:43   廖*  ...  14.0   0.0  总部基地业务部
281  SF1439613136618  2023-06-02 08:14:34   周*  ...  13.0   0.0  总部基地业务部
296  SF1417967024361  2023-06-02 08:11:55  韩*云  ...  13.0   0.0  总部基地业务部[6 rows x 18 columns]
<class 'tuple'> ('魏*', 1.3)
<class 'pandas.core.frame.DataFrame'>                  运单号                 交易时间  寄件人  ...  消费本金 消费赠送金     消费网点
81   SF1450444235259  2023-06-09 08:54:56   王*  ...  11.7   1.3  总部基地业务部
92   SF1448510238715  2023-06-09 08:50:48   王*  ...  11.7   1.3  总部基地业务部
107  SF1442505158813  2023-06-08 11:06:36   逯*  ...  11.7   1.3  总部基地业务部
108  SF1439924609383  2023-06-08 11:06:36  杨*兰  ...  11.7   1.3  总部基地业务部
113  SF1454134351248  2023-06-08 08:22:34   赵*  ...  11.7   1.3  总部基地业务部
128  SF1439652204704  2023-06-07 08:21:44  徐*涛  ...  11.7   1.3  总部基地业务部
167  SF1442573948215  2023-06-06 08:34:23   裴*  ...  11.7   1.3  总部基地业务部
178  SF1429069960969  2023-06-06 08:34:23  韩*宇  ...  11.7   1.3  总部基地业务部[8 rows x 18 columns]
<class 'tuple'> ('魏*', 1.5)
<class 'pandas.core.frame.DataFrame'>                  运单号                 交易时间  寄件人  ...  消费本金 消费赠送金     消费网点
171  SF1429046446869  2023-06-06 08:34:23  郭*丹  ...  13.5   1.5  总部基地业务部
172  SF1150185008864  2023-06-06 08:34:23  王*宁  ...  13.5   1.5  总部基地业务部[2 rows x 18 columns]

        分组后简单统计:

print( xl.groupby(['收件人', '消费赠送金']).size())
收件人  消费赠送金
刘*   1.1      1
孔*新  0.0      1
孔*燕  0.0      31.3      1
孙*英  1.3      1..
马*   1.5      52.3      1
魏*   0.0      61.3      81.5      2
Length: 100, dtype: int64Process finished with exit code 0

        2.列对比筛选

print(xl[xl['消费赠送金']>1.4])

         3.返回列的唯一编码

print(xl['消费赠送金'].unique())

 

4.文件数字化

         1.把列文本的转为数字编码

label = pd.Categorical(xl['交易时间'])
print(label)
print(label.codes)
Categories (122, object): ['2023-06-01 09:11:06', '2023-06-01 09:11:46', '2023-06-01 09:12:10','2023-06-01 09:12:52', ..., '2023-06-30 08:57:39', '2023-06-30 08:57:52','2023-06-30 08:58:06', '2023-06-30 08:58:36']
[121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104103 102 101 100  99  98  97  96  96  95  94  93  92  92  92  92  91  9191  91  91  91  90  89  88  87  87  87  86  85  84  84  83  83  82  8180  79  79  79  79  79  79  79  79  79  79  79  79  79  78  77  76  7575  75  75  75  75  75  75  75  74  73  72  72  72  72  71  71  71  7171  71  71  71  71  71  71  71  71  71  70  70  70  69  68  67  67  6666  65  64  63  63  62  62  62  62  62  62  62  62  62  62  62  62  6262  62  61  61  61  61  61  61  61  61  61  61  61  61  61  61  61  6161  60  60  60  59  58  57  56  55  54  53  53  52  51  50  50  49  4848  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  4848  48  47  46  45  44  43  42  42  42  42  41  40  40  39  38  38  3736  35  34  33  33  33  33  33  33  33  33  33  33  33  33  33  32  3130  29  28  27  26  25  24  23  23  22  22  22  22  22  22  22  22  2222  22  22  22  22  22  22  22  22  22  22  22  22  21  20  19  18  1716  16  15  15  15  15  15  15  14  14  13  13  12  11  11  10  10  1010  10  10  10  10  10  10  10  10  10  10  10   9   9   9   9   9   99   9   9   9   9   9   9   9   9   9   8   7   6   5   4   3   2   10]

        2.独热编码(统计这个列有多少属性(唯一值),然后把该列转换为独热编码,相当于根据唯一值设置为列,对应的编码的列,使用某个唯一值,该唯一值置位1,其他置位0)。

    t = pd.get_dummies(xl['产品类型'])print(xl['产品类型'].unique())print(type(t))print(t)
['顺丰标快' nan '陆运包裹' '同城半日达' '顺丰即日' '顺丰特快' '便利箱产品']
<class 'pandas.core.frame.DataFrame'>便利箱产品  同城半日达  陆运包裹  顺丰即日  顺丰标快  顺丰特快
0        0      0     0     0     1     0
1        0      0     0     0     1     0
2        0      0     0     0     1     0
3        0      0     0     0     1     0
4        0      0     0     0     1     0
..     ...    ...   ...   ...   ...   ...
302      0      0     0     0     1     0
303      0      0     0     0     1     0
304      0      0     1     0     0     0
305      0      0     1     0     0     0
306      0      0     0     0     1     0[307 rows x 6 columns]

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

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

相关文章

java面试题整理

2023.2.14&#xff08;第二天&#xff09; 数组是不是对象&#xff1f; 在Java中&#xff0c;数组是对象。数组是一种引用类型&#xff0c;它可以存储固定大小的相同类型的元素序列。在Java中&#xff0c;数组是通过new关键字创建的&#xff0c;它们在内存中被分配为对象&…

「数据结构」MapSet

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; Map&Set &#x1f349;概念&#x1f349;模型&#x1f349;Map&#x1f34c;TreeMap和HashMap的区别&#x1f34c;Map常用方…

2048游戏C++板来啦!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;我是PingdiGuo_guo&#xff0c;今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机…

Days 31 ElfBoard 自启脚本中打开看门狗

1.在开机自启脚本中打开看门狗 rootELF1:~# vi /etc/rc.local 2.在自启脚本中添加上之后&#xff0c;然后在咱们的QT界面中找到看门狗应用&#xff0c; 发现显示打开看门狗失败&#xff1a; 3.修改看门狗源码&#xff0c;设置了超时时间后&#xff0c;关闭/dev/dev/watchdog节…

【Tomcat】:One or more listeners failed to start.报错解决方案

报错信息:One or more listeners failed to start. Full details will be found in the appropriate container log file. 具体就是web.xml此配置报错: 服务器启动错误Tomcat:One or more listeners failed to start.报错解决方案 IDEA:在使用IDEA运行SSM项目的时候 , Tomcat运…

error MSB8008: 指定的平台工具集(v143)未安装或无效。请确保选择受支持的 PlatformToolset 值解决办法

右击解决方案&#xff0c;选择属性 将工具集为143的修改为其他&#xff0c;如图 重新编译即可运行

网络原理(3)--以太网协议,DNS

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网络原理(3)–以太网协议,DNS 在网络原理(2)中介绍了网络层中的一个重要的协议–ip协议,网络层关注的通信时的起点和终点,而数据链路层更加"底层"一些,关注的是传输过程…

【Effective Objective - C 2.0】——读书笔记(四)

文章目录 二十三、通过委托与数据源协议进行对象间通信二十四、将类的实现代码分散到便于管理的数个分类之中二十五、总是为第三方的分类名称加前缀二十六、切勿在分类里面声明属性二十七、使用“class-continuation分类”隐藏实现细节二十八、通过协议提供匿名对象 二十三、通…

springboot187社区养老服务平台的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

MySQL 基础知识(六)之数据查询(一)

目录 1 基本查询 1.1 查询相关列 (select * / 列名) 1.2 别名 (as) 1.3 去重 (distinct) 1.4 对列中的数据进行运算 (、-、*、/) 2 条件查询 (where) 2.1 等值查询 () 2.2 非等值查询 (>、<、>、<、!、><) 2.3 逻辑判断 (and、or、not) 2.4 区间判…

源码推荐:hello-algo @ github

github https://github.com/krahets/hello-algo 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。全书采用动画图解&#xff0c;结构化地讲解数据结构与算法知识&#xff0c;内容清晰易懂&#xff0c;学习曲线平滑。算法源代码皆可一键运行&#xff0c;支…

上位机图像处理和嵌入式模块部署(借鉴与学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多学院派的同学来说&#xff0c;他们对市场的感觉一般是比较弱的。如果写一个软件的话&#xff0c;或者说开发一个项目的话&#xff0c;他们…

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统&#xff0c;JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤&#xff1a; 对于Linux系统&#xff1a; 下载适合Linux系统的JDK安装包&#xff0c;可以选择32位或64位的版本。 将JDK的安装包放置…

VueCLI核心知识3:全局事件总线、消息订阅与发布

这两种方式都可以实现任意两个组件之间的通信 1 全局事件总线 1.安装全局事件总线 import Vue from vue import App from ./App.vueVue.config.productionTip false/* 1.第一种写法 */ // const Demo Vue.extend({}) // const d new Demo()// Vue.prototype.x d // 把Dem…

RK3568平台开发系列讲解(实验篇)用户空间和内核空间数据交换

🚀返回专栏总目录 文章目录 一、用户空间和内核空间数据交换二、实验驱动代码三、应用测试代码沉淀、分享、成长,让自己和他人都能有所收获!😄 一、用户空间和内核空间数据交换 内核空间和用户空间的内存是不能互相访问的。但是很多应用程序都需要和内核进行数据的交换,…

【AI视野·今日NLP 自然语言处理论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 17 Jan 2024 (showing first 100 of 163 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deductive Closure Training of Language Models for Coherence, Accur…

优化策略模式,提高账薄显示的灵活性和扩展性

接着上一篇文章&#xff0c;账薄显示出来之后&#xff0c;为了提高软件的可扩展性和灵活性&#xff0c;我们应用策略设计模式。这不仅仅是为了提高代码的维护性&#xff0c;而是因为明细分类账账薄显示的后面有金额分析这个功能&#xff0c;从数据库后台分析及结合Java语言特性…

2024幻兽帕鲁服务器创建教程_阿里PK腾讯超简单

幻兽帕鲁官方服务器不稳定&#xff1f;自己搭建幻兽帕鲁服务器&#xff0c;低延迟、稳定不卡&#xff0c;目前阿里云和腾讯云均推出幻兽帕鲁专用服务器&#xff0c;腾讯云直接提供幻兽帕鲁镜像系统&#xff0c;阿里云通过计算巢服务&#xff0c;均可以一键部署&#xff0c;鼠标…

vscode 提取扩展时出错。XHR failed

检查 vscode 设置中的代理服务器&#xff0c;位置如下图 清空 vocode 中的 Proxy&#xff0c;我黄线框的部分&#xff0c;内容清空。 检查电脑系统环境变量&#xff0c;是否设置了 http_proxy 和 https_proxy&#xff0c;如果有设置&#xff0c;则删除这两项&#xff0c;下载完…

《区块链公链数据分析简易速速上手小册》第4章:交易数据分析(2024 最新版)

文章目录 4.1 解析交易输入和输出4.1.1 基础知识4.1.2 重点案例&#xff1a;追踪比特币交易4.1.3 拓展案例 1&#xff1a;以太坊交易的输入输出解析拓展案例1&#xff1a;以太坊交易的输入输出解析步骤1: 连接到以太坊网络步骤2: 获取交易数据步骤3: 解析交易输入结论 4.1.4 拓…