dataframe基础
1 当不知道dataframe的列名,但想要输出该列时,可用iloc()函数实现.
- import pandas as pd
- a = pd.DataFrame({'k':[3,4,5,6],
- 'b':[4,4,2,3],
- 'c':[4,5,6,3]})
- print(a.iloc[:,0])
- # 0 4
- # 1 4
- # 2 2
- # 3 3
- # Name: b, dtype: int64
- import pandas as pd
- a = pd.DataFrame({'k':[3,4,5,6],
- 'b':[4,4,2,3],
- 'c':[4,5,6,3]})
- privdsgadhgxhbfgqafehbgfagag 爱共和国
2 dataframe查看每一列是否有缺失值
- temp = data.isnull().any() #列中是否存在空值
- print(type(temp))
- print(temp) #若为False,则无缺失值,为True,则有缺失值
3 dataframe 更换列名和添加列名
a. 更换所有的列名 如下将1,2,3的列名全部更换
事实上不需要这么复杂,直接即不需要程序的第一行,直接第二行也可以。前提是赋的列的个数与列数要相等。
参考:https://www.cnblogs.com/hhh5460/p/5816774.html https://www.cnblogs.com/harvey888/p/6006178.html
- df=df[[0,1,2,3,4,5,6,7,10]]
- df.columns=['id','ggid','createtime','sccc','gghyid','sptype','spid','ggzhid','price']
- print(ad_operation.columns) # 输出所有列名,注意加s
b. 更换特定列名 https://www.cnblogs.com/hhh5460/p/5816774.html
c. 添加大量空列的方法,当用apply()函数处理dataframe的行时,有时会返回多个值,这时需要添加空列来容纳这些值。
方法: 先新建一个dataframe,只赋列名,再将两个表格融合即可
- kkk = pd.DataFrame(columns=['a','s','lsadfk'])
- rrr = pd.merge( left= a, right= kkk, on = ['a'], how= 'left')
4 dataframe获取定位特定元素
注意第一个必须是列名,否则报错
- print(ad_operation['ggid'][5])
- print(ad_operation[['ggid','bid']]) # 当要输出两列值时,要加[]
5 df是dataframe的数据,df.shape表示的dataframe的行列,df.shape[0]是行数,df.shape[1]是列数,df.shape[2]无效
6 dataframe定位行的方法 iloc()是按照index的序值. loc()是按照index的具体值
http://www.cnblogs.com/qingyuanjushi/p/6085307.html
7 dataframe按某一列的条件删除整行的方法
如下使用isin()函数,加上~时表示包含在isin()的删除,否则留下
isin()括号里面应该是个list
- m = chengji[~chengji['mes_Score'].isin([0, -1, -2, -3])]
- n = m[~m['mes_sub_name'].isin(['数学','英语','语文'])]
8 dataframe删除某一列的重复元素,默认只留下第一次出现的
参考: https://www.cnblogs.com/mahailuo/p/8317178.html
9 dataframe删除某一列或几列
- huaxue.drop(['mes_sub_name','mes_sub_id'], axis=1, inplace=True) # inplace为True时,直接在原数据上修改
参考:https://blog.csdn.net/songyunli1111/article/details/79306639
10 sort_value()函数
参数: by要与axis对应,axis=0时by中为列名,axis=1时by为行名。
ascending控制升序降序,True为升序,False为降序。
- ## 参数
- DataFrame.sort_values(by, axis=, ascending=True, inplace=False, kind='quicksort', na_position='last')
- #### 参数说明
- axis:{ or ‘index’, or ‘columns’}, default ,默认按照索引排序,即纵向排序,如果为1,则是横向排序
- by:str or list of str;如果axis=,那么by="列名";如果axis=,那么by="行名";
- ascending:布尔型,True则升序,可以是[True,False],即第一字段升序,第二个降序
- inplace:布尔型,是否用排序后的数据框替换现有的数据框
- kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心
- na_position : {‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面
参考: https://blog.csdn.net/wendaomudong_l2d4/article/details/80648633
11 DataFrame.info()
可以输出读入表格的一些具体信息。这对于加快数据预处理非常有帮助。
参考:https://blog.csdn.net/sinat_35512245/article/details/79685891
12 shape用法
df是一个dataframe,df.shape输出的是df的行列,df.shape[0]是行数,df.shape[1]是列数,没有df.shpae[2]。
13 value_counts()
用于统计dataframe某一列不同数据的出现次数,其只能统计某一列的,不能整体统计。与unique()函数功能类似,但前者返回的是一个无重复元素的series,并且有series的长度和类型。后者返回的是一个ndarray。
如下计算abc列不同值出现的次数。
- print(alldata.abc.value_counts())
- print(alldata['abc'].value_counts()) # 这种写法会报错
14 四分位数的求法
nums是list,如下会将list中的数排序后,输出四分位数和中位数.
- import numpy as np
- np.percentile(nums, (25, 50, 75), interpolation='midpoint')
15 dataframe显示问题,当输出的表格列太多,或元素太长想要显示时,在开头加上即可.
- #显示所有列
- pd.set_option('display.max_columns', None)
- #显示所有行
- pd.set_option('display.max_rows', None)
- #设置value的显示长度为100,默认为50
- pd.set_option('max_colwidth',100)
- #
- pd.set_option('display.width',1000)
dataframe基础的更多相关文章
- 大数据入门到精通11-spark dataframe 基础操作
// dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...
- pandas | DataFrame基础运算以及空值填充
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当 ...
- Pandas 基础(2) - Dataframe 基础
上一节我们已经对 Dataframe 的概念做了一个简单的介绍, 这一节将具体看下它的一些基本用法: 首先, 准备一个 excel 文件, 大致内容如下, 并保存成 .csv 格式. 然后, 在 ju ...
- pandas学习series和dataframe基础
PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...
- pandas之DataFrame创建、索引、切片等基础操作
知识点 Series只有行索引,而DataFrame对象既有行索引,也有列索引 行索引,表明不同行,横向索引,叫index,0轴,axis=0 列索引,表明不同列,纵向索引,叫columns,1轴,a ...
- Spark实战系列目录
1 Spark rdd -- action函数详解与实战 2 Spark rdd -- transformations函数详解与实战(上) 3 Spark rdd -- transformations ...
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- pandas基础(1)_Series和DataFrame
1:pandas简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标 ...
随机推荐
- mpeg2文件分析(纯c解析代码)
参考链接: 1. MPEG-2码流结构分析 https://www.cnblogs.com/CoderTian/p/9246225.html(本文语法采用这里的截图,代码原创) 1. mpeg2的码流 ...
- 记一次JDK升级带来的连环反应
公司之前有个很久以前的小项目,页面用到了flash. 现在要去掉flash, 前端使用公司自己开发的框架来展示数据, 使用该框架后台要引用一个jar包封装数据传递给前台. 但该框架是jdk1.8编译的 ...
- L1-060 心理阴影面积
这是一幅心理阴影面积图.我们都以为自己可以匀速前进(图中蓝色直线),而拖延症晚期的我们往往执行的是最后时刻的疯狂赶工(图中的红色折线).由红.蓝线围出的面积,就是我们在做作业时的心理阴影面积. 现给出 ...
- spring-boot整合mybatis(web mysql logback配置)
pom.xml相关的配置说明. 配置文件看着比价多,在创建spring-boot项目的时候,自需要添加web,mysql,mybatis三个选项即可 <?xml version="1. ...
- DevExpress v18.2新版亮点——DevExtreme篇(三)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExtreme Complete Sub ...
- Main Steps to Setup an ODI data sync
0. Get ODI installed 1. Topo physical Architecture/new physical schema 2. New Logical schema 3. New ...
- oracle入门之基本数据类型
1.char(size)存放字符串,它最大可以存放2000个字符,是定长. 举例说明: create table test1(name char(32));//test1表中的name字段最多存放32 ...
- Hyperledger Fabric channel配置交易
一个超级账本区块链网络里每个channel的共享配置都是存储在一个配置交易里.每个配置交易通常被简称为configtx. Channel 配置有以下重要属性: 1.有版本标识:配置里的所有元素都有一个 ...
- Java语法基础学习DayTwentyOne(网络编程)
一.IP地址和端口号 1.作用 通过IP地址,唯一的定位互联网上一台主机. 端口号标识正在计算机上运行的进程,不同进程有不同的端口号,被规定为一个16位的整数0~65535,其中0~1023被预先定义 ...
- 第一次scrum冲刺
一.第一次冲刺任务 首先分工做好全局规划,然后基于规划实现全部功能,当然现在只是部分. 二.用户故事 用户进入界面 用户输入账号密码 不记得密 ...