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和 ...
随机推荐
- POJ - 1321 棋盘问题 dfs分层搜索(n皇后变式)
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 47960 Accepted: 23210 Descriptio ...
- QDUOJ 生化危机 邻接表存图+BFS
生化危机 发布时间: 2015年10月10日 18:05 时间限制: 1000ms 内存限制: 256M 描述 X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败 ...
- beans.xml中的头部配置
Spring配置文件beans.xml头部配置解释 关于在beans.xml要使用哪些功能,官网上已经提供了每个功能说明和标准的头文件信息,当我们在开发使用时要哪些功能,都可以上官网去定位. http ...
- Codeforces 625B【KMP】
题意就是一个串在另一个串出现几次,但是字符不能重复匹配, 比如aaaaaaa aaaa的答案是1 思路: 本来写了个暴力过的,然后觉得KMP改改就好了,就让队友打了一个: #include < ...
- POJ3463【次短路】
转自:http://www.cnblogs.com/jackge/archive/2013/04/29/3051273.html 算法:最短路和次短路.Dijkstra算法.采用邻接表建图. 总结:不 ...
- CentOS 利用 yum 安装卸载软件常用命令
一.yum安装和卸载软件 有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突, ...
- [Xcode 实际操作]八、网络与多线程-(21)延时启动画面:使用Thread线程对象的延时方法
目录:[Swift]Xcode实际操作 本文将演示如何使用线程对象的延时方法,让线程休眠一段时间,暂停动作的执行. 在项目导航区,打开启动画面的故事板[LaunchScreen.storyboard] ...
- 2018全球十大测试工具Top2 Katalon
引言 由Capgemini,Sogeti和Micro Focus发布的2017-2018年世界质量报告中,Katalon超越老牌测试工具UFT(源自QTP)成为黑马新秀,在全球十大自动化测试工具中排名 ...
- 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...
- JAVA实训总结 :String
String是特殊的类,与其他基本类型并不相同,是被java封装的类型 String底层组成对象为数组与字典(字符集编码表) String 类型的字符串是存储在JVM特别开辟的字符串常量池中 创建 ...