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 的相关文章

  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201

随机推荐

  • 客户端无法连接腾讯云服务器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时 输出