Python常用函数笔记汇总1

2023-11-19

清理、重塑、转换

numpy.where(condition[, x, y])
1、这里x,y是可选参数,condition是条件,这三个输入参数都是array_like的形式;而且三者的维度相同
2、当conditon的某个位置的为true时,输出x的对应位置的元素,否则选择y对应位置的元素;
3、如果只有参数condition,则函数返回为true的元素的坐标位置信息;

在这里插入图片描述

移除重复数据

data = pd.DataFrame({‘k1’:[‘one’]*3 + [‘two’]*4,
‘k2’:[1,1,2,3,3,4,4]})
data
data.duplicated() #返回布尔值
data[-data.duplicated()] #删除为true的

data.drop_duplicates() #全部字段去重
data.drop_duplicates([‘k1’]) # 默认保留的是第一个出现的值
data.drop_duplicates([‘k1’,‘k2’],take_last=True) #take_last保留最后一个

在这里插入图片描述

map操作

data = pd.DataFrame({‘food’:[‘bacon’,‘pulled pork’,‘bacon’,‘Pastrami’,
‘corned beef’,‘Bacon’,‘pastrami’,‘honey ham’,
‘nova lox’],
‘ounces’:[4,3,12,6,7.5,8,3,5,6]})
meat_to_animal = {
‘bacon’:‘pig’,
‘pulled pork’:‘pig’,
‘pastrami’:‘cow’,
‘corned beef’:‘cow’,
‘honey ham’:‘pig’,
‘nova lox’:‘salmon’}
data[‘animal’] = data[‘food’].map(str.lower).map(meat_to_animal)
data

在这里插入图片描述
在这里插入图片描述

缺失值替换fillna或replace

在这里插入图片描述

重命名轴索引

在这里插入图片描述
在这里插入图片描述

离散化和面元划分(bin)

ages = [20,22,25,27,21,23,37,31,61,45,41,32]
bins = [18,25,35,60,100] #默认左闭右开
cats = pd.cut(ages,bins)
pd.cut(ages,bins,right=False) #右侧是闭区间是false

group_names = [‘youth’,‘youngadult’,‘middleaged’,‘senior’]
pd.cut(ages,bins,labels=group_names)

在这里插入图片描述
在这里插入图片描述

data = np.random.rand(20)
cat2 = pd.cut(data,4,precision=2) #根据min和max计算等长面元,将均匀分布数据分四组,保留两位小数

data = np.random.randn(1000) #正态分布
cats = pd.qcut(data,4) # 按四分位数进行切割

cat1 = pd.qcut(data,[0,0.1,0.5,0.9,1.],precision=2) #自定义分位数

在这里插入图片描述

检测和过滤异常值

col = data[3]
col[np.abs(col)>3] #某行绝对值大于3的数

data[(np.abs(data)>3).any(1)] #全部abs大于3的行和列,以下两种不可取
#data[np.abs(data)>3]
#data[data>3]
data[np.abs(data.ix[:,0])>3] #可用,里面的过滤条件需针对某一行

在这里插入图片描述

排列和随机采样

1.dataframe
df = pd.DataFrame(np.arange(5*4).reshape(5,4))
sampler = np.random.permutation(5) #按行索引分成5组
df.take(sampler)

df.take(np.random.permutation(len(df))[:3]) #从5中随机取3个

np.random.seed(12345)
df = pd.DataFrame(np.random.randn(1000,4))
cnt = int(np.round(len(df)*0.7))
df.take(np.random.permutation(len(df))[:cnt]) #从df中随机抽取70%
在这里插入图片描述
2.list

random.sample(range(10),3)

在这里插入图片描述

计算指标/哑变量

dummies = pd.get_dummies(df[‘key’],prefix=‘key001’) #prefix加前缀的字符
df_with_dummy = df[[‘data1’]].join(dummies)

对于数值可以结合get_dummies和cut

values = np.random.rand(10)
bins = [0,0.2,0.4,0.6,0.8,1]
pd.get_dummies(pd.cut(values,bins))

在这里插入图片描述

#排序和排名
obj = Series(range(4),index=[‘d’,‘a’,‘b’,‘c’])
obj.sort_index()

frame=DataFrame(np.arange(8).reshape((2,4)),index=[‘three’,‘one’],
columns=[‘d’,‘a’,‘b’,‘c’])
frame.sort_index()
frame.sort_index(axis=1, ascending=False) #降序排列,axis=1是对列,0是对行。

frame=DataFrame({‘b’:[4,7,-3,2],‘a’:[0,1,0,1]});frame
frame.sort_values(by=‘b’)
frame.sort_values(by=[‘a’,‘b’])

ROC
fpr_test, tpr_test, th_test = metrics.roc_curve(test_target, test_est_p)
fpr_train, tpr_train, th_train = metrics.roc_curve(train_target, train_est_p)
plt.figure(figsize=[6,6])
plt.plot(fpr_test, tpr_test, color=blue)
plt.plot(fpr_train, tpr_train, color=red)
plt.title('ROC curve')


tree.export_graphviz(clf,out_file='tree.dot')#查看树结构

import pickle as pickle
model_file = open(r'clf.model', 'wb')
pickle.dump(clf, model_file)
model_file.close()

model_load_file = open(r'clf.model', 'rb')
model_load = pickle.load(model_load_file)
model_load_file.close()

test_est_load = model_load.predict(test_data)
pd.crosstab(test_est_load,test_est)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python常用函数笔记汇总1 的相关文章

  • twython - 没有名为 twython 的模块错误

    我使用以下命令在树莓派上安装了 tywthon sudo pip install twython 安装过程中没有出现错误 当我运行 python 文件时 它会出现 ImportError No module named twython 代码
  • 如何创建 3D 高度图

    我有一个 2D 数组 Z 存储该元素位置的高度 除了使用方法之外here http matplotlib org mpl toolkits mplot3d tutorial html surface plots其中我需要创建与 Z 大小相同
  • pexpect 和 ssh:如何在 su - root -c 之后格式化一串命令

    我正在尝试迭代服务器和密码列表来更改一组服务器上的 sshd 配置 以便我可以使用无密码 SSH 密钥通过 root 登录 运行命令 我可以在 bash 中轻松完成此操作 但我正在尝试学习 Python 并且 显然 希望放弃手动输入密码 这
  • 根据列中的条件将 Pandas 数据框拆分为多个数据框

    为了为 ML 任务正确准备数据 我需要能够将原始数据帧拆分为多个较小的数据帧 我想要获取上面的所有行 包括 BOOL 列的值为 1 的行 对于每次出现的 1 即 n 个数据帧 其中 n 是 1 出现的次数 数据样本 df pd DataFr
  • 如何提取图像中的表格

    我想从图像中提取表格 这个 python 模块https pypi org project ExtractTable https pypi org project ExtractTable 与他们的网站https www extractta
  • 在Python中解析制表符分隔的文件

    我正在尝试在 Python 中解析一个制表符分隔的文件 其中与行开头分开的 k 个制表符的数字应该放入第 k 个数组中 除了逐行读取并执行简单解决方案将执行的所有明显处理之外 是否有内置函数可以执行此操作 或者有更好的方法 您可以使用the
  • Scikit-learn 具有使用“特征”的自定义评分函数

    我正在尝试使用一种名为 SERA 平方误差相关区域 的新指标作为本文中提到的不平衡回归的自定义评分函数 https link springer com article 10 1007 s10994 020 05900 9 https lin
  • 如何访问 pytest 夹具中的所有标记?

    我正在使用 pytest 我想用标记来标记我的测试 这些标记将指定固定装置要在驱动程序中加载哪个页面 这可以轻松地与行为上下文对象一起使用 但我找不到如何使用 pytest 来做到这一点 以这段代码为例 import pytest pyte
  • Matplotlib 行高表属性

    我已经尝试了我能找到的所有命令和文档 如何在这里设置行的高度 from pylab import Create a figure fig1 figure 1 ax1 1 fig1 add subplot 111 Add a table wi
  • Python 字典组并对多个值求和[重复]

    这个问题在这里已经有答案了 我在字典格式列表中有一组数据 如下所示 data name A tea 5 coffee 6 name A tea 2 coffee 3 name B tea 7 coffee 1 name B tea 9 co
  • 为什么 Keras 的 train_on_batch 在第二个 epoch 产生零损失和准确率?

    我正在使用一个大数据集 所以我尝试使用 train on batch 或适合 epoch 1 model Sequential model add LSTM size input shape input shape return seque
  • 如何将异步函数传递给 Python 中的线程目标?

    我有以下代码 async some callback args await some function 我需要将它作为目标传递给线程 thread threading Thread target some callback args som
  • 在Python中将一个方法(带参数)传递给另一个方法的最佳方法是什么

    将方法和方法参数传递给另一个方法的最佳方法是什么 有更好的方法来执行以下操作吗 def method1 name return Hello name def method2 methodToCall methodToCallParams q
  • 在 Mac 上安装 python igraph

    我执行了brew install homebrew science igraph当我执行时sudo pip3 install python igraph 我收到以下错误 Cannot find the C core of igraph on
  • 如何使用 pandas groupby 函数根据 groupby 值应用公式

    我的问题可能有点令人困惑 所以让我解释一下 我有一个信息数据框 我想按唯一订单 ID 对其进行分组 该 ID 将生成以下列 sum qty 每个订单 ID 执行的总金额 csv 这是每个订单 ID 的 csv 列的总和除以订单 ID 的已执
  • 使用 PyPy 运行 Python 程序?

    有人告诉我 你可以使用 PyPy 来运行 Python 程序 这要快得多 因为它是使用 JIT 编译器编译的 而不是解释的 以下程序查找数字 600851475143 的最大质因数 import numpy as np nr 6008514
  • 维基百科与 Python

    我有这个非常简单的 python 代码来读取 wikipedia api 的 xml import urllib from xml dom import minidom usock urllib urlopen http en wikipe
  • 在ubuntu 18.04上安装python 2.7

    有没有办法在 Ubuntu 18 04 上安装 Python 2 7 我尝试了这个命令 但它不起作用 sudo apt install python minimal 有没有办法手动安装 我尝试使用 python 2 7 作为不支持 pyth
  • 在python中求Legendre多项式的根

    我正在编写一个程序 通过勒让德 高斯求积求解积分 n 阶求积算法需要在某一时刻找到 n 阶勒让德多项式 Pn x 的根 并将它们分配给数组 Absc 表示 横坐标 Pn 是一个 n 阶多项式 在区间 1 1 上有 n 个独立的实根 我希望能
  • Keras 导入错误 Nadam

    我在尝试导入 Keras 模块 Nadam 时遇到导入错误 gt gt gt from keras optimizers import Nadam Traceback most recent call last File

随机推荐

  • 客户端无法连接腾讯云服务器Redis

    一 问题 使用Redis Desktop Manager 昨天可以连接上Redis服务器 今天却不可以 二 解决方案 1 确保IP地址 端口号 输入密码正确 1 1 redis conf 文件中port 1 2 redis conf文件中r
  • mysql执行计划固定_Oracle固定SQL的执行计划(一)---SQL Profile

    我们都希望对于所有在Oracle数据库中执行的SQL CBO都能产生出正确的执行计划 但实际情况却并非如此 由于各种各样的原因 比如目标SQL所涉及的对象的统计信息的不准确 或者CBO内部一些成本计算公式的先天缺陷等 导致有时CBO产生效率
  • Java使用for循环和while循环分别实现实现任意一个正整数逆序输出

    使用for循环将任意位数的正整数逆序 import java util Scanner public class ForNiXuTest public static void main String args System out prin
  • LSTM时间序列预测代码超通俗解释(MATLAB)

    数据在评论区 可以查看这一篇博客有更好的代码和可视化 多序列 http t csdn cn a4pM0 单序列 https blog csdn net m0 62526778 article details 128996795 clc cl
  • 微信小程序 picker选择器 表单验证 源码

    微信小程序表单验证 这是自己写的 比较low 下篇附上公司大佬的源码 嘿嘿 所在城市带选择城市的功能 比较懒笨 附上的代码是完整的 把接口数据换成自己的就可以用了 样式需要自己调 请在评论区夸我 附上要用的API的路径 https deve
  • OCR目前的发展现状综述

    本文目的是为了总结OCR各类技术的发展 从搜集资料到整理 可以看出OCR技术目前的一个大致发展趋势 目前还处于随时添加状态 敬请期待 更新时间 2019年9月26日 很好的参考资料 这个GitHub收集了文本检测 文本识别 端到端的论文以及
  • Dynamics CRM2011 同一个FORM表单同一个字段可以摆放多次

    这是一个很细微的问题 细微到很容易被忽略 可能其他人没有但我确实是忽略了 红框中的勾默认是勾选的 可能有人会像我一样 从没关心过这个地方还有个勾也从没关心过要把这个勾去掉 所以在表单上A B两个节中需要同一个C字段 而不同条件下A B只有一
  • 【数据库入门】关系型数据库为什么这么受欢迎?

    个人主页 个人主页 系列专栏 数据库入门 新人博主 喜欢就关注一下呗 关系型数据库 关系型数据库 是指采用了关系模型来组织数据的数据库 其以行和列的形式存储数据 以便于用户理解 关系型数据库这一系列的行和列被称为表 一组表组成了数据库 用户
  • 关于wav文件读取的一个小问题(librosa和soundfile)

    今天在跑melgan时候 发现GPU使用率低的感人 原本以为是pytorch的dataloader的问题 之后把num worker改为0 用主进程进行读取数据 发现主要卡在了librosa的load上 from librosa core
  • Docker 之Harbor 初步使用

    1 命令行登陆 harbar 镜像仓库 root node1 harbor docker login 192 168 27 134 9901 Username admin Password WARNING Your password wil
  • LSM详解

    关于LSM结构的相关介绍 这篇文章比较好 特此纪录一下https yq aliyun com articles 767772
  • python服务器开发debug_如何使用PyCharm开发和调试服务器上的代码

    0x00 前言 之前调试Python程序的时候一直都使用的是pdb 一个Python内置的调试模块 然后拿本地的源码进行比对 偶然听 周佩雨 ph师傅提到可以使用PyCharm对远端服务器上的代码进行调试 同时还可以对多进程类程序进行调试
  • 蓝牙打开流程

    通常两种打开方式 一个是在菜单Setting上打开 一种就是自动打开 default on 两种都是最终调用IBluetooth enable 来打开的 启动蓝牙BluetoothService frameworks base servic
  • osg orbitManipulator拖拽位置不精确的问题解决。

    实际上 就是个焦距和视距的问题 摄像机在不同的位置 远近切面会改变 但是fovy和aspectRatio不改变 这样 也会导致近切面的宽高发生改变 就类似于一个无限延伸的视锥体滑梯 远近切面就在这滑梯上滑动 由于最终物体要投影到近切面 而近
  • Ubuntu安装g++

    在编译之前我们需要在系统里安装G GCC 它们就是Linux下的C C的编译器 代码如下 代码 sudo apt get install build essential 好 现在我们在文本编辑器里写一个C的简单的程序 好像所有学习C或者C
  • MQ的基本原理是怎样的?MQ的优点有哪些?MQ的核心概念包括哪些?MQ的消息传递模式有哪些?

    1 MQ的基本原理是怎样的 MQ 消息队列 是一种面向消息的中间件 用于实现不同系统之间的异步通信 其基本原理如下 生产者 Producer 将消息发送到消息队列中 而不是直接发送给消费者 Consumer 消息队列将接收到的消息存储在内部
  • Python字符串的截取

    字符串元素的截取 Python中的字符串用单引号 或双引号 括起来 同时使用反斜杠 转义特殊字符 字符串的截取的语法格式如下 变量 头下标 尾下标 索引值以 0 为开始值 1 为从末尾的开始位置 加号 是字符串的连接符 星号 表示复制当前字
  • 怎么优化深层神经网络(超参、正则以及优化)

    在训练神经网络时 我们需要做出很多决策 比如 神经网络分多少层 每层含有多少个隐藏单元 学习速率是多少 各层采用哪些激活函数等等 我们不可能从一开始就准确的预测出这些超参数 因为应用机器学习是一个高度迭代的过程 通常在项目启动时 我们会先有
  • 小程序识别车牌php,微信小程序——车牌键盘输入js+css

    请输入车牌号码 carNo item 清空 关闭 item OK Del pages jp cp jp cp wxss lf float left rt float right tel border bottom 2rpx solid dd
  • Python常用函数笔记汇总1

    清理 重塑 转换 numpy where condition x y 1 这里x y是可选参数 condition是条件 这三个输入参数都是array like的形式 而且三者的维度相同 2 当conditon的某个位置的为true时 输出