pandas 100题

news2025/1/9 17:09:51

文章目录

  • 1.将下面字典创建为DataFrame
  • 2.提取含有字符串“python”的行
  • 3.输出df所有列名
  • 4.修改第列名
  • 5.统计grame列中每种编程语言出现的次数
  • 6 将空值用上下值的平均值填充
  • 7 列值大于3的数
  • 8 去重列
  • 9 计算列平均值
  • 10 将列转换列表
  • 11 保存到excel
  • 12 查询行列
  • 13 列值大于3小月7的值
  • 14 交换两列位置
  • 15 列值最大所在行
  • 16 查最后5行数据
  • 17 删最后一行数据
  • 18 增加最后一行数据
  • 19 排序
  • 20 统计列的长度
  • 21 读取Excel文件,csv文件
  • 22 查看df前5行
  • 24 分组并计算平均值
  • 26 createtime提取为月-日
  • 27 查看数值型列的统计
  • 28 根据id将数据分为三组
  • 29 按降序排列
  • 30 取第30行数据
  • 31 取中位数
  • 32 水平频率分布直方图
  • 33 水平密度曲线
  • 34 删列:
  • 35 合并为新的一列
  • 37.计算最大值与最小值之差
  • 38.将第一行与最后一行拼接
  • 39.将第8行数据添加至末尾
  • 40.查看每列的数据类型


import pandas as pd
import numpy as np

1.将下面字典创建为DataFrame

data = {'grame':['python','java','c',np.nan,'python'],
'score':['22','33','66','00','66']}
df = pd.DataFrame(data)
print(df)

2.提取含有字符串“python”的行

print(df[df['grame']=='python'])

3.输出df所有列名

print(df.columns)

4.修改第列名

#inplace参数的理解:
#修改一个对象时:
#inplace=True:不创建新的对象,直接对原始对象进行修改;
#inplace=False:对数据进行修改,创建并返回新的对象承载其修改结
colNameDict = {
    'grame':'内容',
    'score':'分数'
}
df.rename(columns=colNameDict,inplace=True)
print(df)

5.统计grame列中每种编程语言出现的次数

df['内容'].value_counts()

DataFramedata_dict={"Grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","python"],
"Score":[1,2,np.nan,4,5,6,7,10]}
df = pd.DataFrame(DataFramedata_dict)

6 将空值用上下值的平均值填充

df['Score']= df['Score'].fillna(df['Score'].interpolate())

7 列值大于3的数

print(df[df['Score']>3])

8 去重列

df = df.drop_duplicates(['Grammer'])
print(df)

9 计算列平均值

print(df['Score'].mean())

10 将列转换列表

print(df['Grammer'].to_list())

11 保存到excel

print(df.to_excel(r'test.xlsx'))

12 查询行列

print(df.shape)

13 列值大于3小月7的值

print(df[(df['Score']>3)&(df['Score']<7)])

14 交换两列位置

#法一
df[['Grammer', 'Score']] = df[['Score', 'Grammer']]
print(df)
#法二
col = df.columns[[1,0]]
print(df[col])

15 列值最大所在行

print(df[df['Score']==df['Score'].max()])

16 查最后5行数据

print(df.tail())

17 删最后一行数据

df.drop(len(df)-1,inplace=True)
print(df)

18 增加最后一行数据

DataFramedata_dict2 ={'Grammer':['php'],'Score':[9]}
df2 = pd.DataFrame(DataFramedata_dict2)
#新版 append被concat取代
#df.append(df2,ignore_index=True)
pd.concat([df, df2])
print(df)

19 排序

df.sort_values('Score',inplace=True)
print(df)

20 统计列的长度

# 填充空值
df['Grammer']=df['Grammer'].fillna('')
# 使用map(lambda )
df['len_G'] = df['Grammer'].map(lambda x: len(x))
print(df)

21 读取Excel文件,csv文件

dfe = pd.read_excel(r'C:\Users\Administrator\Desktop\目标.xlsx',
header =0,sheet_name=1)
df = pd.read_csv(r'..\..\lh_common_org_region.csv',encoding="GBK")

22 查看df前5行

print(df.head())

24 分组并计算平均值

# 默认对数字求平均值
df.groupby('ORG_REGION_NAME').mean()
# 指定列
print(df.groupby('ORG_REGION_NAME')['id'].mean())

26 createtime提取为月-日

在这里插入图片描述

df['CREATE_DATE'].fillna('01/01/2000 00:00:00',inplace=True)
df['time']= pd.to_datetime(df['CREATE_DATE'],format='%d/%m/%Y %H:%M:%S')
df['月-日']= df['time'].dt.month.astype(int).astype(str)+
"月-"+df['time'].dt.month.astype(int).astype(str)
print(df)

27 查看数值型列的统计

print(df.describe())

28 根据id将数据分为三组

bins = [0,2000, 5000, 10000]
group_names = ['低', '中', '高']
df['categories'] = pd.cut(df['id'], bins, labels=group_names)
print(df)

29 按降序排列

print(df.sort_values(['id'],ascending=False))

30 取第30行数据

print(df.iloc[29])

31 取中位数

print(np.median(df['id']))

32 水平频率分布直方图

import pandas as pd
df = pd.read_csv(r'..\..\lh_common_org_region.csv',encoding="GBK")
import matplotlib as plt
df.ORG_ID.plot(kind="hist")

33 水平密度曲线

df.ORG_ID.plot(kind="kde")

34 删列:

del df['id']
print(df)

35 合并为新的一列

df['test'] = df['ORG_REGION_NAME']+df['ORG_ID'].astype(str)
#df['test'] = df['ORG_REGION_NAME']+df['ORG_ID'].map(str)
print(df)

37.计算最大值与最小值之差

m =df[['id']].apply(lambda x: x.max() - x.min())
print(m)

38.将第一行与最后一行拼接

print(pd.concat([df[:1], df[-1:]]))

39.将第8行数据添加至末尾

df.append(df.iloc[7])

40.查看每列的数据类型

df.dtypes

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

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

相关文章

【Spring】编程式事务的应用场景理解

前言 我们经常在使用Spring全家桶开发JavaEE项目的时候&#xff0c;一想到事务就会习惯性的使用声明式注解Transactional,由Spring框架帮你做AOP实现事务的回滚&#xff0c;但是声明式事务恰恰比较方便&#xff0c;所以有些场景下并不好用&#xff0c;接下来我来举一个例子&am…

服务器下载mmdetection

1.申请账号密码 找实验室有root权限的同学创建一个账号密码 2.命令行中敲&#xff1a;ssh服务器账号&#xff0c;然后输入自己的服务器密码&#xff08;确认自己是否处于校园网环境&#xff0c;如果不在的话记得连vpn&#xff09; 3.命令行敲cd /切换到根目录然后ls查看服务…

通过SCADA实现KPI分析和预测性维护远比想象中简单

一、前言 随着工业发展的不断进步&#xff0c;越来越多的企业开始注重KPI分析和预测性维护。通过数据分析实现智能制造已经成为不可缺少的环节。制定并分析关键绩效指标&#xff08;KPI&#xff09;是实现数据分析战略的重要一步&#xff0c;因为只有跟踪这些关键绩效指标才能…

题目1444:蓝桥杯201 4年第五届真题斐波那契

这篇文章是帮一个叫做【废柴成长中】的孩子写的。 题目&#xff1a; 这里难点应该就是在【输入为一行用空格分开的整数n m p(0<n,m&#xff0c;p<10^18)】 &#xff0c;这里一下子就把最大值干成long的最大范围了&#xff0c;很明显&#xff0c;long肯定也不行。 解析其…

[附源码]计算机毕业设计JAVA闲置物品线上交易系统

[附源码]计算机毕业设计JAVA闲置物品线上交易系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

区块链工作原理(节点、层)

Users/Nodes in a Blockchain Network 在某个节点被当作区块链网络的一部分之前&#xff0c;它必须要完成以下的要求&#xff1a; 节点需要为认证过程生成公钥/私钥对节点需要与区块链网络中的其他一部分节点建立直接连接&#xff08;peer connection&#xff09;&#xff0c…

KVM虚拟机迁移

一、KVM宿主机高可用架构设计 宿主机故障&#xff0c;内部虚拟机可以不受影响&#xff0c;可以迁移走负载均衡&#xff0c;当某个宿主机压力过大&#xff0c;可以将部分虚拟机迁移到其他机器&#xff0c;降低其负载。 1.1、架构设计 1.2、实验机器 机器 IP 角色 node1 192.…

L. Paid Leave(贪心)[CCPC Finals 2021]

题目如下&#xff1a; 思路 or 题解 我们可以先只考虑第一段(两个休息日之间) 白色为休息日&#xff0c;蓝色为工作日 我们思考&#xff0c;如果在满足题意的条件下&#xff0c;如何安排额外的休息日可以使答案更优&#xff1a; 贪心可得&#xff1a;额外的休息日尽量往后安排…

RabbitMQ之TTL机制

在京东下单&#xff0c;订单创建成功&#xff0c;等待支付&#xff0c;一般会给30分钟的时间&#xff0c;开始倒计时。如果在这段时间内用户没有支付&#xff0c;则默认订单取消。 该如何实现&#xff1f; 定期轮询&#xff08;数据库等&#xff09; 用户下单成功&#xff0…

【自然语言处理(NLP)】聊天机器人模块实现

【自然语言处理&#xff08;NLP&#xff09;】聊天机器人模块实现 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等学校计算…

《异常检测——从经典算法到深度学习》20 HotSpot:多维特征 Additive KPI 的异常定位

《异常检测——从经典算法到深度学习》 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测算法 5 Opprentice——异常检测经典算法最终篇 6 基于重构概率的 VAE 异常检测 7 基于条件VAE异常…

[附源码]计算机毕业设计JAVA鲜花销售管理系统

[附源码]计算机毕业设计JAVA鲜花销售管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

【学习笔记02】node的模块化和内置模块

一、nodejs的模块化 &#x1f602; nodejs 所有的东西都是模块 &#xff08;一&#xff09;node模块的分类 1. 自定义模块&#xff1a;自己写的模块 2. 内置模块&#xff1a;nodejs提供的模块 3. 第三方模块 别人写好的东西, 上传到某一个位置(npm), 我们去 npm 去下载到我们本…

SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除 我只能说太简单了

目录准备工作MySQL数据库表Result返回结果1、SpringBootMyBatisPlusvueElementUl实现批量删除1.1、演示GIF动态图1.2、实体类1.3、Dao接口1.4、Service接口1.5、ServiceImpl接口实现层1.6、Controller控制层1.7、Vue前端2、SpringBootMyBatisvueElementUl实现批量删除2.1、演示…

关于数据权限的设计

在项目实际开发中我们不光要控制一个用户能访问哪些资源&#xff0c;还需要控制用户只能访问资源中的某部分数据。 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC&#xff0c;但是控制用户只能访问某部分资源&#xff08;即我们常说的数据权限&#xff09;使用R…

云计算-JavaAPI与Hadoop的互联的实现

云计算-JavaAPI与Hadoop的互联的实现 文章目录云计算-JavaAPI与Hadoop的互联的实现一、环境准备二、HDFS 基本的命令操作三、HDFS客户端操作IntelliJ IDEA 环境准备通过API操作HDFS主函数程序进行连接测试1. 初始化hdfs连接获得FileSystem对象1. HDFS获取文件系统2. HDFS创建文…

Redis集群方案备忘录

文章目录哨兵模式官方Redis ClusterJedis&#xff08;客户端分片&#xff09;Codis&#xff08;代理分片&#xff09;哨兵模式 优点 哨兵模式是基于主从模式的&#xff0c;解决可主从模式中master故障不可以自动切换故障的问题。缺点 &#xff08;1&#xff09;是一种中心化的…

Express 6 指南 - 路由 6.3 路线路径 Route paths

Express Express 中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Express6 指南 - 路由6.3 路线路径 Route paths6 指南 - 路由 6.3 路线路径 Route paths 【这翻译得…生怕国人看懂】 路由路径与请求方法相结合&#xff0c;定义了可以…

大数据培训课程之序列化案例实操

序列化案例实操 1. 需求 统计每一个手机号耗费的总上行流量、下行流量、总流量 &#xff08;1&#xff09;输入数据 &#xff08;2&#xff09;输入数据格式&#xff1a; 7 13560436666 120.196.100.99 1116 954 200 id…

编辑器实现思路

复杂项目 业务的复杂性: 交互的复杂性数据结构和状态的复杂性,例如级联选择器需要遍历树结构,还有一些需要链表、栈、队列等多项目依赖,工程的复杂性性能优化流程的复杂性 git flowlint 工具单元测试commit信息Code ReviewCI/CD开发一个编辑器 例如低代码的编辑器 编辑器…