pandas一些使用方法整理

1.关于读取文件报错:

low_memory的作用: 如果说不指定dtype的话,默认的熊猫在读取的时候会提取该字段下面空间占用最小的作为内存存储单位,如果指定 low_memory=False的话,直接跳过这个判断步骤,默认已存储单位最长的作为存储单位;

2.使用熊猫进行大规模数据读取时,分块读取

cuiji1_1=pd.read_csv(‘cuiji1_1.csv‘,low_memory=False)
cuiji1_2=pd.read_csv(‘cuiji1_2.csv‘,low_memory=False)
cuiji2=pd.read_csv(‘cuiji2.csv‘,low_memory=False)
cuiji3=pd.read_csv(‘cuiji3.csv‘,low_memory=False)
cuiji4=pd.read_csv(‘cuiji4.csv‘,low_memory=False)
cuiji5=pd.read_csv(‘cuiji5.csv‘,low_memory=False)
cuiji6=pd.read_csv(‘cuiji6.csv‘,low_memory=False)
cuiji7=pd.read_csv(‘cuiji7.csv‘,low_memory=False)
cuiji8=pd.read_csv(‘cuiji8.csv‘,low_memory=False)
cuiji9=pd.read_csv(‘cuiji9.csv‘,low_memory=False)
frames=[cuiji1_1,cuiji1_2,cuiji2,cuiji3,cuiji4,cuiji5,cuiji6,cuiji7,cuiji8,cuiji9]
cuiji=pd.concat(frames)

3.使用pandas处理缺失值的方法

cuiji.dropna(axis=0, how=‘any‘, inplace=True)   其中axis参数作为=0表示删除含有空行的行;为1的话是以列为删除

4.删除重复行
cuiji.drop_duplicates(inplace=True)

5.使用pandas处理时间日期格式

cuiji[‘create_date‘] = pd.to_datetime(cuiji[‘create_date‘].apply(lambda x: time.strftime("%Y-%m-%d", time.localtime(x))))

6.对于某列进行函数变换使该列值转换成需要的形式

cj[‘freq‘]=cj.apply(lambda x: round((x[8].days+1)/x[7],2), axis=1)     例如,我们需要计算freq这一列的值,这一列的值需要第9列除以第8列,则需如左侧apply函数设置,其中,axis=1表示在行上进行操作

7.对于错误  A ..is trying to set a dataframe

这个意思是,我们通过一些查询操作,获取了dataframe的一个视图,而我们想在这个视图上增加一列或者怎样,这时候就会报错,以为我们不能在视图而非dataframe来进行操作;

解决方案的话很简单:只要对视图copy一下就可以了;

例如:

cuiji_filter = cuiji[(cuiji.create_date >= tstart) & (cuiji.create_date< tend)] # 案件催记池
  cuiji_filter=cuiji_filter.copy()

此时我们发现,cuiji_filter此时此刻只是一个视图,是我们从dataframe中看到的一部分,在下面copy操作完成之后,就是dataframe了;

8.条件筛选操作

cuiji_filter = cuiji[(cuiji.create_date >= tstart) & (cuiji.create_date< tend)] # 案件催记池

注意,括号内部,我们在用cui.create_date的时候,并没有给出引号

9.比较简单的,如果我们想查看数据的前N行,只需要

pirnt(cuiji_filter.head(N))

10.对于熊猫的分组查询操作:

grouped=cuiji_filter.groupby(cuiji_filter[‘case_no‘])     groupby里面放的是我们要按照哪一列来进行分组,和sql里面的groupby操作是一样的

要注意:如果打印一下grouped的数据类型,我们发现它并不是一个dataframe格式,而是groupby格式;

11.如何把 groupby的统计结果转dataframe

grouped=cuiji_filter.groupby(cuiji_filter[‘case_no‘])
cjnum=grouped.size() #按caseno统计催记数目
cjnum=pd.DataFrame(cjnum)
cjnum=cjnum.reset_index()

12.如何把groupby的结果转成dict格式

groupphone=cuiji_filter[‘phone‘].groupby(cuiji_filter[‘case_no‘])
Gp=dict(list(groupphone))

13.dataframe的连接操作

cj=pd.merge(cuiji_filter, cjnum, on=[‘case_no‘])

原文地址:https://www.cnblogs.com/GY-Zhu/p/9768070.html

时间: 2024-11-02 15:53:02

pandas一些使用方法整理的相关文章

JavaScript实现判断图片是否加载完成的3种方法整理

JavaScript实现判断图片是否加载完成的3种方法整理 有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将

与屏幕亮度调节相关的各种方法整理

public class SystemManager { private Context mContext; private static SystemManager sInstance; private SystemManager(final Context context) { mContext = context; } public static SystemManager init(final Context context) { if (null == sInstance) { sIn

VS编译duilib项目时候的错误解决方法整理

@1:找不到Riched20.lib 用everything等软件搜索下磁盘,找到所在的目录添加到vs的库目录即可,我得是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib:其他的vs版本可能不一样,自行搜索 @2: "IDispatchEx": 重定义:不同的基类型 点击打开链接 UIFlash.h行: #import "..\Utils/Flash11.tlb" raw_interfaces_only,

常用js方法整理common.js

项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, dataType: 'json', success: ok, error: error }); } h.post = function (url, data, ok, error) { $.ajax({ url: url, data: data, type: 'post', data

常见的布局方法整理[兼容]

一行两列左侧固定右侧自动适应 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv

【方法整理】Oracle 获取trace跟踪文件名的几种常用方式

[方法整理]Oracle 获取trace跟踪文件名的几种常用方式 1  BLOG文档结构图     2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① trace跟踪文件的获取   Tips: ① 本文在itpub(http://blog.itpub.net/26736162).博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)有同

激活码失效问题的解决方法整理

ShopEx体系产品激活码失效可能存在由以下问题造成: 1.产品已经到期. 这种情况的解决方案是需要找商派公司进行产品续费或者是将您的产品升级成终身授权的产品,可以电话咨询:4008908858 2.由于服务器网络环境造成. 这种情况下,需要对服务器网络环境进行检查,可以参考文档:http://bbs.ec-os.net/simple/?t834.html    用户名/密码:test/123456 3.由于mysql异常或者磁盘空间已满等原因造成. 这种情况下,需要对mysql和磁盘等一一做检

Java web 常见对象的取值方法整理

一.从request中取值: 1.取param: servlet:  request.getParameter() request.getParameterValues() jsp脚本:request.getParameter() request.getParameterValues() jstl/el:  ${param.name} ${paramaValues.names[0]} struts ognl:<s:property value="#parameters.ParamName[

css清除浮动的几种方法整理

此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type="text/css"> <!– *{margin:0;padding:0;} body{font:36px bold; color:#F00; text-align:center;} #layout{background:#FF9;} #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}