不得不说,工作中几乎天天跟DataFrame打交道,真的很有总结和记住的必要,话不多说,直接上干货。输入以下语句前别忘记:

import pandas as pd

import numpy as np

1、读入文件:

df=pd.read_csv(path,names=[‘’,’’,’’]);

#读入文件用names,格式转换用columns;

2、list转dataframe :

df=pd.DataFrame(data,column=[‘a’, ’b’]) ;

Dataframe 转list :df.values.tolist();

某一列数据转list :list(df[‘a’]);

3、两个dataframe 取交集,也可用于删除重复项目

pd.merge(df1,df2);

#很好用,速度快。

4、两个dataframe取并集(合并): 

pd.concat([df1,df2])

#括号里面一定要写中括号。

#两个表合并之后一定要reset_index,否则索引值不是按顺序的。

5、DataFrame数据形式转换 : 

Df=pd.DataFrame(df,type=np.float);

6、删除空值 :

df.dropna(axis=0,how=’any’,inplace=True);

#how的取值是any或者all。

7、填补缺失值 :

df.fillna(0,inplace=True) ;

#不要忘了inplace=True,否则不会在原表上修改;

8、计算缺失值个数:

list(data[‘a’].isnull()).count(True);

9、数据替换 :

df[‘a’]=df[‘a’].replace(‘.’ , ’0’);

10、根据一列数据生成另一列数据(例如归一化):

dt=df.apply(lambda x:(x-np.min(x))/(np.max(x)-np.min(x)));

#apply+lamda这个语句还是好用的,例如给不同分值的人分等级,可以先做一个字典,直接映射到字典里面的值。

11、筛选数据 :

df[df[‘a’]!=1][‘a’,’b’,’c’];

#选择a这一列中不为1的数据;

12、数据筛选(按列) :

df.iloc[:, df.columns!=’flag’];

13、数据筛选(按值):

A_list=[0.1,0,2,0.3];

df[‘a’].isin(alist);

14、取第一行:

df.iloc[[1]] ;

#一定要写两个中括号;

15、元素定位 :

df.loc[0:3,[‘a’,’b’]] #loc需要写列名;

df.iloc[0:3,[0,1]];

16、删除某一列 :

del df[‘a’];

17、删除多列 :

df=df.drop([‘a’,’b’],axis=1);

18、抽样 :

df[features].sample(n=1000);

#但感觉这个不太好用,可以用np.random.choice;

19、展示重复值 :

df[df.duplicated(keep=’first’)];

#不加列名就是展示所有列;

20、删除重复值 :

df.drop_duplicates(keep=’first’,inplace=True);

#这一步做完也一定要reset_index;

21、数据排序 :

df.sort_values(‘a’,ascending=True,inplace=true);

22、插入新的一列 :

df[‘d’]=None;

#然后再用apply+lambda赋值;

23、某一列值分类计数 :

df[‘a’].value_counts() ;

#要画图的话直接在后面加.plot(kind=’bar’);

24、求分位数 :

df[‘a’].quantile(0.25);

25、数据保存成csv文件 :

df.to_csv(‘a.csv’,header=False,index=False);

#如果不写后面两个False,就会自动生成一列索引和一个表头;

(未完待续。。。)

----------

dataframe两个表合并_DataFrame踩坑整理(一)相关推荐

  1. dataframe两个表合并_Spark实战第二版(涵盖Spark3.0)第三章 宏伟的角色dataframe

    关注公众号: 登峰大数据 ,阅读Spark实战第二版(完整中文版),系统学习Spark3.0大数据框架! 如果您觉得作者翻译的内容有帮助,请分享给更多人.您的分享,是作者翻译的动力! 本章涵盖了 使用 ...

  2. dataframe两个表合并_史上代码最少的工作表拆分,仅需5行,不可思议

    工作中,很多小伙伴都会遇到一些需求,将一份Excel文档按照部门进行拆分,每个部门是一个单独的工作表,或者每个部门整理的工作表汇总为一份总的工作表.读者需要注意的是,多个工作表的拆分与合并,始终在一个 ...

  3. dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...

    一.为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类 ...

  4. dataframe两个表合并_R语言读取多个excel文件后合并:rbind/merge/cmd合并

    问题: 该文件夹下的三个文件理论上列名完全一致,但是在用rbind合并时却提示上述错误,(只能理解为列名确实是不一致导致的问题)解决如下: (1)首先,rbind和cbind()也适用于datafra ...

  5. dataframe两个表合并_DAXSQLPython实现报表项目存在串行的财务报表合并

       点击"数字化审计",可以关注哦! 开篇啰嗦话 在前文"Dax实战-多年财务报表项目存在串行的合并"中,我为你介绍了多年财务报表合并过程中问题的起因和解决串 ...

  6. dataframe两个表合并_Spark DataFrame 不是真正的 DataFrame

    从这篇文章开始,我们专栏开始一个新的读 paper 系列. 今天要介绍的 paper 是 Towards Scalable Dataframe Systems,目前还是预印本.作者 Devin Pet ...

  7. oracle横向合并两张表,SQL中将两个表合并成一个新表 SQL如何合并两个表并生成一个新表?...

    sql把两个表合并成一个新表的语句应该怎么写SQL SERVER: select * into 表3 from ( select 字段列表1 from 表1 union all select 字段列表 ...

  8. Vant-UI 表单组件(Field组件):验证表单元素表单提交 - 踩坑篇

    Vant-UI 表单组件(Field组件):验证表单元素&&表单提交: 示例截图 · 如下: 示例 · 详细代码 · 如下: <template><div class ...

  9. Springboot中使用Mybatis框架对数据库进行联表查询,踩坑填坑

    因为mybatis使用的基本是原生sql语句 所以首先从数据库开始说 以mysql数据库为例,对表的连接查询分为四种 内连接,外连接,交叉连接,和联合连接 内连接使用比较运算符根据每个表共有的列的值匹 ...

最新文章

  1. Golang 推荐的命名规范
  2. Codeforces Round #277(Div 2) A、B、C、D、E题解
  3. Python学习笔记(运算符)
  4. 拖动同级别元素显示辅助线,辅助对齐,吸附.
  5. 深度学习笔记(16) 误差分析(一)
  6. HDU2191——悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
  7. 使用ZooKeeper ACL特性进行znode控制
  8. 管理信息系统开发项目管理之一(转)
  9. JSONObject.fromObject 日期类型转换问题
  10. Ultimaker_Cura-4.8-Win版本软件下载与安装
  11. 面向对象编程中的 诡异事件
  12. NRF52832学习笔记(34)——倾角传感器SCL3300使用
  13. 详解LDC架构-设计业务异地多活架构
  14. 【求职】作业帮 Java 方向面经
  15. 基于android的单词记忆英语考试系统app
  16. 行缓冲,全缓冲,无缓冲的详细介绍
  17. 应用层协议 —— HTTP(二)
  18. Sql Hacks 阅读感悟——数值处理
  19. 音频转文字怎么转?这些方法值得一试
  20. 2011互联网泄密事件:***详解账号泄露全过程

热门文章

  1. pytorch geometric GraphSAGE代码样例reddit和ogbn_products_sage,为何subgraph_loader将sizes设成[-1]
  2. ie浏览器导入html文件在哪,IE浏览器收藏夹的备份与恢复的两种方法(文件复制与导入和导出)...
  3. SSH免密失败并报错:no mutual signature algorithm
  4. 倍福CX9020(WINCE 7)使用技巧汇总
  5. dango之day01
  6. 千亿市场规模的物流SaaS平台,是发生在云端的物流信息化的二次革命
  7. php敏感字符串过滤_PHP实现敏感词过滤
  8. JAVA 文件上传格式限制_关于servlet文件上传限制文件大小的问题,求高手帮忙
  9. 搜索思维[PPT制作]
  10. WIN7下VirtualBox “指令引用的0x0000000内存”报错问题