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     int64
 1   B       51 non-null     int64
 2   C       51 non-null     int64
 3   D       51 non-null     int64
 4   E       51 non-null     int64
 5   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      3
     1.3      1
孙*英  1.3      1
             ..
马*   1.5      5
     2.3      1
魏*   0.0      6
     1.3      8
     1.5      2
Length: 100, dtype: int64

Process 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 104
 103 102 101 100  99  98  97  96  96  95  94  93  92  92  92  92  91  91
  91  91  91  91  90  89  88  87  87  87  86  85  84  84  83  83  82  81
  80  79  79  79  79  79  79  79  79  79  79  79  79  79  78  77  76  75
  75  75  75  75  75  75  75  75  74  73  72  72  72  72  71  71  71  71
  71  71  71  71  71  71  71  71  71  71  70  70  70  69  68  67  67  66
  66  65  64  63  63  62  62  62  62  62  62  62  62  62  62  62  62  62
  62  62  61  61  61  61  61  61  61  61  61  61  61  61  61  61  61  61
  61  60  60  60  59  58  57  56  55  54  53  53  52  51  50  50  49  48
  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48
  48  48  47  46  45  44  43  42  42  42  42  41  40  40  39  38  38  37
  36  35  34  33  33  33  33  33  33  33  33  33  33  33  33  33  32  31
  30  29  28  27  26  25  24  23  23  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  21  20  19  18  17
  16  16  15  15  15  15  15  15  14  14  13  13  12  11  11  10  10  10
  10  10  10  10  10  10  10  10  10  10  10  10   9   9   9   9   9   9
   9   9   9   9   9   9   9   9   9   9   8   7   6   5   4   3   2   1
   0]

        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]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML5 Canvas与JavaScript携手绘制动态星空背景

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>星空背景</title> </head> <body style"overflow-x:hidden;"><canvas …

[职场] 会计学专业学什么 #其他#知识分享#职场发展

会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科&#xff0c;本专业培养具备财务、管理、经济、法律等方面的知识和能力&#xff0c;具有分析和解决财务、金融问题的基本能力&#xff0c;能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管…

optuna,一个好用的Python机器学习自动化超参数优化库

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️付费专栏:Python专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前言 超参数优化是机器学习中的重要问题,它涉及在训练模型时选择最优的超参数组合,以提高模型的性能和泛化能力。Optuna是一个用于自动化超参数优化的…

第五篇【传奇开心果系列】Python微项目技术点案例示例:中文有声故事书

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录一、微项目目标和背景二、雏形示例代码三、扩展思路四、用户自定义输入示例代码五、故事选择示例代码六、语音控制示例代码七、播放控制示例代码八、文本转换语音示例代码九、微项目雏形核心部分示例代…

【MySQL】操作库 —— 表的操作 -- 详解

一、增加表 1、创建表 mysql> create database [if not exists] table_name ( -> field1 datatype, -> field2 datatype, -> field3 datatype -> ) character set 字符集 collate 校验规则 engine 存储引擎; 注意 &#xff1a;最后一行也可以写成&#x…

枚举知识点解析

枚举是什么&#xff1f;枚举就是列举&#xff0c; 将东西一一列举出来。 生活中有许多地方需要用到枚举&#xff0c; 比如一年有12个月&#xff0c;一星期有7天&#xff0c; 这些都需要进行枚举。 那么&#xff0c; 如何进行枚举的定义呢&#xff1f; 如下 枚举中的值是一种…

【教3妹学编程-算法题】将数组分成最小总代价的子数组 I

2哥 : 叮铃铃&#xff0c;3妹&#xff0c;过年干嘛呢&#xff0c;是不是逛吃逛吃&#xff0c;有没有长胖呢。 3妹&#xff1a;切&#xff0c;我妈张罗着要给我相亲呢。 2哥 : 相亲&#xff1f;哈哈哈哈 3妹&#xff1a;别笑了&#xff0c;我妈说跟我年龄相等的人都已经孩子上小…

BossPlayerCTF

靶场环境问题 靶场下载之后&#xff0c;可能会出现扫描不到IP的情况&#xff0c;需要进行调整&#xff0c;参考&#xff1a; Vulnhub靶机检测不到IP地址_vulnhub靶机nmap扫不到-CSDN博客 该靶机没有vim&#xff0c;需要使用vi命令去修改&#xff1b;改成当前网卡即可&#x…

【QT+QGIS跨平台编译】之四十:【gsl+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、GSL介绍二、GSL下载三、文件分析四、pro文件五、编译实践一、GSL介绍 GSL(GNU Scientific Library)是一个开源的数值计算库,用于提供一系列常用的数学函数和算法。它为科学计算和数据分析提供了高效、可靠的工具。 GSL库提供了丰富的功能,包括数值积分、数值…

[职场] 事业单位医疗岗常见的面试题目 #微信#微信#微信

事业单位医疗岗常见的面试题目 面试是步入社会以及就业过程中必须经历的一个首要阶段&#xff0c;也是实现就业必经的之道&#xff0c;可以说面试是双向选择和考试考核评价的过程&#xff0c;是企业选择应聘者的同时也应聘者也在选择企业。 一.常见的面试题目 1.对医学基础知…

每日OJ题_递归②_力扣21. 合并两个有序链表

目录 力扣21. 合并两个有序链表 解析代码 力扣21. 合并两个有序链表 21. 合并两个有序链表 难度 简单 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4]…

中小学信息学奥赛CSP-J认证 CCF非专业级别软件能力认证-入门组初赛模拟题第二套(完善程序题)

CCF认证CSP-J入门组模拟测试题第二套 三、完善程序题 第一题 菲波拉契数列 菲波拉契数列为1,1,2,3,5,8,13,21,…,其元素产生的规则是前两个数为1,从第三个数开始每个数等于它前面两个数之和。已知任意一个正整数可以表示为若干个互不相同的菲波拉契数之和。例如:3621132。 …

图像处理之《寻找和隐藏:通过深度强化学习的对抗隐写术》论文阅读

一、文章摘要 图像隐写术的目的是将一个完整大小的图像(称为秘密)隐藏到另一个图像(称为封面)中。以往的图像隐写算法只能在一个封面中隐藏一个秘密。在这篇论文中&#xff0c;我们提出了一个自适应局部图像隐写(AdaSteg)系统&#xff0c;允许缩放和位置自适应图像隐写。该系统…

2024.2.14

1.请编程实现二维数组的杨慧三角 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) { int n,i,j;printf("please enter n:");scanf("%d",&n);int arr[n][n];for(i0;i<n;i){for(j0;j<i;j){if(j0 || ij…

【无标题】Matlab 之axes函数——创建笛卡尔坐标区

**基本用法&#xff1a;**axes 在当前图窗中创建默认的笛卡尔坐标区&#xff0c;并将其设置为当前坐标区。 应用场景1&#xff1a;在图窗中放置两个 Axes 对象&#xff0c;并为每个对象添加一个绘图。 要求1&#xff1a;指定第一个 Axes 对象的位置&#xff0c;使其左下角位于…

【AIGC】Stable Diffusion的ControlNet插件

ControlNet 介绍 ControlNet 插件是 Stable Diffusion 中的一个重要组件&#xff0c;用于提供对模型的控制和调整。以下是 ControlNet 插件的主要特点和功能&#xff1a; 模型控制&#xff1a; ControlNet 允许用户对 Stable Diffusion 中的模型进行精细的控制和调整。用户可以…

单片机学习笔记---LCD1602功能函数代码

目录 LCD1602.c 模拟写指令的时序 模拟写数据的时序 初始化 显示字符 显示字符串 显示数字 显示有符号的数字 显示16进制数字 显示二进制数 LCD1602.h main.c 上一篇讲了LCD1602的工作原理&#xff0c;这一节开始代码演示&#xff01; 新创建工程&#xff1a;LCD1…

Linux内核-时间子系统(时钟中断)专题汇总

文章目录 概要一、专题汇总1.1、优秀系列博文1.2、时间子系统1.3、高精度定时器hrtimer1.4、RTC硬件芯片驱动 概要 中断机制是计算机系统的重要组成部分&#xff0c;在Linux中也不例外&#xff0c;中断按照来源分为硬中断和软中断&#xff0c;而硬中断根据硬件范围分为外中断和…

MySQL数据库基础(一):数据库概述

文章目录 数据库概述 一、数据库介绍 二、数据库分类 1、关系型数据库 2、非关系型数据库NoSQL 三、常见数据库介绍 1、关系型数据库 2、非关系型数据库 数据库概述 一、数据库介绍 数据库就是存储数据的仓库&#xff0c;其本质是一个文件系统&#xff0c;按照特定的…

AI算法参数个数本身优化空间

一、背景 AI算法的参数数量并非越多越好&#xff0c;也不是越少越好。参数的数量与模型的复杂度密切相关&#xff1a; 1. 参数多&#xff08;高复杂度模型&#xff09;&#xff1a; - 优点&#xff1a;模型具有更强的表达能力和拟合能力&#xff0c;对于复杂的、非线性的数据分…