pandas小结
pandas part I:
# 总结:
- DataFrame.loc[0:5] 一共6行数据,而切片[0:5]只有5个数据
- 在对df的行数据删除后,有些index已缺失,此时用 iloc[]来按照位置索引
- 取指定行 food_info.loc[[2,5,10]],传入list
- 取指定列 zinc_copper = food_info[["Zinc_(mg)", "Copper_(mg)"]]
- 取指定后缀名的列:
- col_names = food_info.columns.tolist()
- gram_columns = []
- for c in col_names:
- if c.endswith("(g)"):
- gram_columns.append(c)
- food_info.sort_values("Sodium_(mg)", inplace=True) #默认升序,可以用 ascending=False来降序
pandas part II:
- 根据age_is_null = titanic_survival["Age"].isnull(), 返回索引,
- 根据索引的True,False,来获取null的集合: age_null_true = age[age_is_null]
- 如果某列中有nan,任何运算结果都是nan
- 取 good_ages = titanic_survival["Age"][age_is_null == False]
- correct_mean_age = sum(good_ages) / len(good_ages)
- 但是缺失数据的表很普遍,于是pandas用correct_mean_age = titanic_survival["Age"].mean()来解决nan问题
- 按要求选取指定行:pclass_rows = titanic_survival[titanic_survival["Pclass"] == this_class]
- 对指定行的某列进行运算: pclass_fares_mean = pclass_rows["Fare"].mean()
- 数据透视表: 默认aggfunc为np.mean
- passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
- 多列透视表:values传入一个list
- port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare","Survived"], aggfunc=np.sum)
- 去掉有nan的列: titanic_survival.dropna(axis=1) #age canbin embark
- 去掉指定列中有nan的行 : titanic_survival.dropna(axis=0,subset=["Age", "Sex"])
- 取指定index行的某列的一个数据: titanic_survival.loc[83,"Age"]
对所有列数据应用函数:
def not_null_count(column):
column_null = pd.isnull(column)
null = column[column_null]
return len(null)column_null_count = titanic_survival.apply(not_null_count)
pandas part III:
- 获取Series的值 fandango['FILM'].values
- 取某一列为另一列的索引:series_custom = Series(fandango['RottenTomatoes'].values , index=fandango['FILM'].values)
- 用series_name限制条件series_greater_than_50 = series_custom[series_custom > 50]
- 取到所有列的类型:types = fandango_films.dtypes
- types[types.values == 'float64'].index 本质上是从types 回到 索引上
- deviations = fandango_films[float_columns].apply(lambda x: np.std(x)) 对所有float类型数据应用方差
- groupby将一列中的元素进行分组,idxmax取出对应列group的最大索引位置,score_series=df.groupby("ID")["m_score"].idxmax()
- df.groupby(df['class1'])['data1'] == df['data1'].groupby(df['class1']) 是一个整体,要取出数据,则.idxmax()等操作
- df.groupby(df['class1'])['data1'] : <pandas.core.groupby.SeriesGroupBy object at 0x000001F1CEDF0AC8>
pandas小结的更多相关文章
- pandas用法小结
前言 个人感觉网上对pandas的总结感觉不够详尽细致,在这里我对pandas做个相对细致的小结吧,在数据分析与人工智能方面会有所涉及到的东西在这里都说说吧,也是对自己学习的一种小结! pandas用 ...
- python4delphi import lxml pandas 出错的小结
环境: 1.win10 64位 2.delphi xe8 3.python2.7 4.python4delphi (svn 2015-03-21 发布的83版本号) 5.lxml 3.4.4(通过p ...
- python中pandas里面的dataframe数据的筛选小结
pandas大家用的都很多,像我这种用的不够熟练,也不够多的就只能做做笔记,尽量留下点东西吧. 筛选行: a. 按照列的条件筛选 df = pandas.DataFrame(...) # suppos ...
- pandas replace函数使用小结
http://blog.csdn.net/kancy110/article/details/72719340
- scikit-learn随机森林调参小结
在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...
- scikit-learn 梯度提升树(GBDT)调参小结
在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...
- 用scikit-learn和pandas学习Ridge回归
本文将用一个例子来讲述怎么用scikit-learn和pandas来学习Ridge回归. 1. Ridge回归的损失函数 在我的另外一遍讲线性回归的文章中,对Ridge回归做了一些介绍,以及什么时候适 ...
- pandas 对数据帧DataFrame中数据的索引及切片操作
1.创建数据帧 index是行索引,即每一行的名字:columns是列索引,即每一列的名字.建立数据帧时行索引和列索引都需要以列表的形式传入. import pandas as pd df = pd. ...
- 第三周 数据分析之概要 Pandas库入门
Pandas库介绍: Pandas库引用:Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas as pd Pandas基于NumPy实现,常与NumPy和 ...
随机推荐
- django使用QQ企业邮箱发送邮件
一.首先申请QQ企业邮箱 免费QQ企业邮箱地址如下:https://exmail.qq.com/signupfree?refer=intro#signup/free 二.配置自己的域名 在域名解析中添 ...
- 201621123016 《Java程序设计》第八周学习总结
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 ArrayList在调用contains方法时会调用indexOf方法得到 ...
- HDU5908【模拟】
思路: 找到约数k,然后算一下1-k区间里的数的个数. 中间交换一下就好了,然后把后面每个区间里的数减减,然后再判断一下满足不满足= = #include <bits/stdc++.h> ...
- mysql项目实战经验
一.项目的编码设置 目的:避免出现莫名其妙错误,笔者曾经就碰到因编码不对返回null而浪费大量时间:统一的编码可以减少解析的时间,提高效率 1.1修改my.ini文件 一般在C:\Program ...
- __enter__,__exit__上下文管理协议
上下文管理协议__enter__,__exit__ 用途或者说好处: 1.使用with语句的目的就是把代码块放入with中执行,with结束后,自动完成清理工作,无须手动干预 2.在需要管理一些资源比 ...
- laravel-admin 配置富文本编辑器流程
laravel-admin默认去除富文本编辑器的,官方也给出了配置方法. 我配置的是wangEditor,本来配置完后就能愉快得使用了,可万万没想到还是有坑的.默认是用base64上传的,也就是数据库 ...
- Ubuntu-通过v2版本的rancher安装部署k8s
环境: ubuntu:16.04+(64位) CPU:2C MEM:>4G docker:17.03.2 1.13.1 1.12.6 基础配置:(若是云服务器,下列只需要放行端口) >&g ...
- 关于gc日志中Desired Survivor的疑问和对象晋升老年代的小结
问题背景 (下面的所有内容都是根据书上的Serial/Serial Old收集器下的情况) 在<深入理解JVM>一书中的——3.6.3长期存活的对象将进入老年代的介绍中, 一个例子的jvm ...
- axios 访问和返回拦截,token处理,返回异常统一处理
在axios文件夹中,index.js添加拦截 访问拦截: import store from '../store' axios.interceptors.request.use( config =& ...
- Storm编程入门API系列之Storm的Topology默认Workers、默认executors和默认tasks数目
关于,storm的启动我这里不多说了. 见博客 storm的3节点集群详细启动步骤(非HA和HA)(图文详解) 建立stormDemo项目 Group Id : zhouls.bigdata Art ...