pandas 索引、选取和过滤】的更多相关文章

Series索引的工作方式类似于NumPy数组的索引,不过Series的索引值不只是整数,如: import numpy as np import pandas as pd from pandas import Series,DataFrame obj=Series(np.arange(4),index=['a','b','c','d']) obj=Series(np.arange(4),index=['a','b','c','d']) obj Out[10]: a 0 b 1 c 2 d 3…
This would allow chaining operations like: pd.read_csv('imdb.txt') .sort(columns='year') .filter(lambda x: x['year']>1990) # <---this is missing in Pandas .to_csv('filtered.csv') For current alternatives see: http://stackoverflow.com/questions/11869…
1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Series是数据结构,这两种数据结构数据选取的方式基本一致,本文主要以Dataframe为例进行介绍. 在Dataframe中选取数据大抵包括3中情况: 1)行(列)选取(单维度选取):df[].这种情况一次只能选取行或者列,即一次选取中,只能为行或者列设置筛选条件(只能为一个维度设置筛选条件). 2…
pandas读取Excel.csv文件中的数据时,得到的大多是表格型的二维数据,在pandas中对应的即为DataFrame数据结构.在处理这类数据时,往往要根据据需求先获取数据中的子集,如某些列.某些行.行列交叉的部分等.可以说子集选取是一个非常基础.频繁使用的操作,而DataFrame的子集选取看似简单却有一定复杂性.本文聚焦DataFrame的子集选取操作逻辑,力求在实战中遇到子集选取操作的需求时"不迷路". 主目录 一.图解DataFrame DataFrame是一种二维的表格…
选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.loc[label] Series 基于行名.列名(行.列的标签),默认为df.loc(axis=0)[label] 用函数选择行 df.loc[lambda,lambda] Series 基于行名.列名(行.列的数值),默认为df.loc(axix=0)[lambda] 用整数位置选择行 df.il…
先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc')) df 是这样子滴 那么这三种选取数据的方式该怎么选择呢? 一.当每列已有column name时,用 df [ 'a' ] 就能选取出一整列数据.如果你知道column names 和index,且两者都很好输入,可以选择 .loc df.loc[0, '…
1. 准备数据 import pandas as pd from io import StringIO csv_txt = '''"date","player1","player2","score1","score2" "2017-06-05","张继科","林思远",3,2 "2017-06-06","丁宁"…
在本章中,我们将讨论如何切割和丢弃日期,并获取Pandas中大对象的子集. Python和NumPy索引运算符"[]"和属性运算符".". 可以在广泛的用例中快速轻松地访问Pandas数据结构.然而,由于要访问的数据类型不是预先知道的,所以直接使用标准运算符具有一些优化限制.对于生产环境的代码,我们建议利用本章介绍的优化Pandas数据访问方法. Pandas现在支持三种类型的多轴索引; 这三种类型在下表中提到 - 编号 索引 描述 1 .loc() 基于标签 2…
Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(df_obj2.index)) print(df_obj2.index) 运行结果: <class 'pandas.indexes.range.RangeIndex'> <class 'pandas.indexes.numeric.Int64Index'> Int64Index([0,…
Series和Datafram索引的原理一样,我们以Dataframe的索引为主来学习 列索引:df['列名'] (Series不存在列索引) 行索引:df.loc[].df.iloc[] 选择列 / 选择行 / 切片 / 布尔判断 import numpy as np import pandas as pd # 导入numpy.pandas模块 # 选择行与列 df = pd.DataFrame(np.random.rand(12).reshape(3,4)*100, index = ['on…
import pandas as pd import numpy as np s = pd.Series(np.random.rand(5), index=list('abcde')) # 创建序列,其中 index=list('abcde')为每一行添加索引 s.index.name='alpha' # 为行索引添加名称标签 df = pd.DataFrame(np.random.randn(4,3), columns=['one','two','three']) # 创建DataFrame,…
pandas.DataFrame 的 iloc # ------------------------------------------------------------ 'python式的切片,包含为尾位置' In [23]:df = pd.DataFrame({ 'http_status': [200,200,404,404,301], 'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]}, index=[0,1,2,3,4]) In [26]:d…
原文地址  http://www.joyphper.net/article/201306/188.html 1.在数据库的读取文件data-config.xml 中的entity 标记里边添加 transformer=”HTMLStripTransformer” 代码. <entity name="edusystem" pk="url" transformer="HTMLStripTransformer" query="SELEC…
# XLS转CSV df = pd.read_excel(r'列表.xls') df2 = pd.DataFrame()df2 = df2.append(list(df['列名']), ignore_index=True) df2.dropna(inplace=True) print(df2)df2.to_csv(r'output.csv', index=False, header=False, encoding='UTF-8') # TXT转CSVdf = pd.read_csv(r'infi…
Series结构 筛选数据 指定值 备注:查找出指定数值的索引和数值. 逻辑运算 备注:查找出值大于2的数据. 复合索引 DataFrame结构 显示指定列 筛选显示 备注:值小于0的显示原值,否则显示空值. 备注:值小于0的显示原值,否则显示原值的负数. 备注:显示a<b的行. 备注:显示a<b且b<c的行.…
显示DataFrame结构中的指定列 使用iloc索引 指定一行的信息 指定多行信息 备注:第[1,5)行信息. 指定行和列 备注:第[0,5)行中第[1,3)列信息. 使用loc索引 指定行信息 备注:设置"Name"列为索引,显示"Name"为"Heikkinen,Miss.Laina"的信息. 获取指定行和列的值 备注:"Name"为"Heikkinen,Miss.Laina"的"Fare&…
1.df.dropna() 可以返回去掉NaN的df结果集. 2.pandas中dataframe取差集: df=pd.DataFrame({"name":[1,2,3,np.NaN,8],"value":[3,4,np.NaN,9,0]}) drop_na_df=df.dropna() na_symbols_df=pd.DataFrame(list(set(df["name"])^set(drop_na_df["name"]…
一.目标 1)实现自定义索引 2)不同的input输出到各自对应的索引,nginx的日志输出到index-nginx的索引,zabbix的日志输出到index-zabbix,app的日志输出到index-app(如图1):这样不会弄成大杂烩. 图1: 结果图:…
https://stackoverflow.com/questions/11418192/pandas-complex-filter-on-rows-of-dataframe mask = df.apply(lambda row: row["col"].val < 100, axis=1) df[mask]…
本节介绍Series和DataFrame中的数据的基本手段 重新索引 pandas对象的一个重要方法就是reindex,作用是创建一个适应新索引的新对象 ''' Created on 2016-8-10 @author: xuzhengzhu ''' ''' Created on 2016-8-10 @author: xuzhengzhu ''' from pandas import * print "--------------obj result:-----------------"…
Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. Series:一维数组,与Numpy中的一维array类似. 二者与Python基本的数据结构List也…
pandas: 基于Numpy构建的数据分析库 pandas数据结构:Series, DataFrame Series: 带有数据标签的类一维数组对象(也可看成字典) values, index 缺失数据检测:pd.isnull(), pd.notnull(), Series对象的实例方法 Series对象本身及其索引都有一个name属性,和pandas其他关键功能关系很密切 DataFrame: 表格型数据结构,列和行都有索引 获取DataFrame列:字典标记方式,或者属性方式(frame2…
一.基本使用方法 # pandas引入约定 import pandas as pd from pandas import Series,DataFrame import numpy as np import matplotlib.pyplot as plt # pandas数据结构 # pandas数据结构介绍 # Series:一种类似于一维数组的对象,它是由一组数据(各种numpy数据类型) # 以及一组与之相关的数据标签(即索引)组成,仅由一组数据即可产生简单的series # DataF…
索引.选取和过滤 大部分的查询用法 类型 说明 obj[val] 选取DataFrame的单个列或一组列 obj.ix[val] 选取DataFrame的单个行或一组行 obj.ix[:,val] 选取单个列或列子集 obj.ix[val1,val2] 同时选取行和列 reindex方法 将一个或多个轴匹配到新索引 xs方法 根据标签选取单行或单列,并返回一个Series icol.irow方法 根据整数位置选取单列或单行,并返回Series get_value.set_value方法 根据行标…
numpy array 过滤后的数组,索引值从 0 开始. pandas Series 过滤后的 Series ,保持原来的索引,原来索引是几,就是几. 什么意思呢,来看个栗子: import numpy as np import pandas as pd # 有两个相同的数组,一个是pd Series 一个是 np array a = pd.Series([1, 2, 3, 4]) c = np.array([1, 2, 3, 4]) # 通过索引数组来过滤数组 d = a[a>3] e =…
前言 这一节我们还是继续讲讲索引知识,前面我们讲了聚集索引.非聚集索引以及覆盖索引等,在这其中还有一个过滤索引,通过索引过滤我们也能提高查询性能,简短的内容,深入的理解,Always to review the basics. 过滤索引,在查询条件上创建非聚集索引(1) 过滤索引是SQL 2008的新特性,被应用在表中的部分行,所以利用过滤索引能够提高查询,相对于全表扫描它能减少索引维护和索引存储的成本.当我们在索引上应用WHERE条件时就是过滤索引.也就是满足如下格式: CREATE NONC…
原文地址: Stairway to SQL Server Indexes: Level 7,Filtered Indexes 本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分. 在之前的级别中,我们已经说过,表中的每一行在索引中会生成一个入口,这条规则有一个例外.一些索引的入口会比对应的表的行数要少.这些索引被称作“过滤的索引”,是SQL Server 2008中的一个特性. 过滤一个索引 创建一个包含where子句的过滤的非聚集索引…
前言 这一节我们还是继续讲讲索引知识,前面我们讲了聚集索引.非聚集索引以及覆盖索引等,在这其中还有一个过滤索引,通过索引过滤我们也能提高查询性能,简短的内容,深入的理解,Always to review the basics. 过滤索引,在查询条件上创建非聚集索引(1) 过滤索引是SQL 2008的新特性,被应用在表中的部分行,所以利用过滤索引能够提高查询,相对于全表扫描它能减少索引维护和索引存储的成本.当我们在索引上应用WHERE条件时就是过滤索引.也就是满足如下格式: CREATE NONC…
一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 fill_value 参数指定填充值. 例如:   fill_value 会让所有的缺失值都填充为同一个值,如果不想这样而是用相邻的元素(左或者右)的值填充,则可以用 method 参数,可选的参数值为 ffill 和 bfill,分别为用前值填充和用后值填充: 针对 DataFrame   重新…
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarray时候也可以指定dtype arr.astype(dtype = np.int) #浮点数转int #对数组批量运算,作用在每个元素上 arr = np.array([[1,2,3],[4,5,6]]) print arr**5 #索引和切片 arr = np.array([1,2,3,4,5,6…