pandas DataFrame数据筛选和切片

DataFrame数据筛选——loc,iloc,ix,at,iat

条件筛选

单条件筛选

选取col1列的取值大于n的记录: data[data[‘col1‘]>n]

筛选col1列的取值大于n的记录,但是显示col2,col3列的值: data[[‘col2‘,‘col3‘]][data[‘col1‘]>n]

选择特定行:使用isin函数根据特定值筛选记录。筛选col1值等于list中元素的记录: data[data.col1.isin(list)]

多条件筛选

可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选

使用&筛选col1列的取值大于n,col2列的取值大于m的记录:data[(data[‘col1‘] > n) & (data[‘col2‘] > m)]

使用numpy的logical_and函数完成同样的功能:data[np.logical_and(data[‘col1‘]> n,data[‘col2‘]>m)]

索引筛选

切片操作

使用切片操作选择特定的行: data[n:m]

传入列名选择特定的列: data[[‘col1‘,‘col2‘]]

loc函数

当每列已有column name时,用 data [‘col1‘] 就能选取出一整列数据。如果你知道column names 和index,可以选择 .loc同时进行行列选择: data.loc[index,‘colum_names‘]

iloc函数

使用方法同loc函数,但是不再输入列名,而是输入列的index: data.iloc[row_index,col_index]

ix函数

ix的功能更加强大,参数既可以是索引,也可以是名称,相当于,loc和iloc的合体。需要注意的是在使用的时候需要统一,在行选择时同时出现索引和名称, 同样在同行选择时同时出现索引和名称: data.ix[n:m,[‘col1‘,‘col2‘]]

但是在最新的版本中,ix函数不建议使用

at函数

根据指定行index及列label,快速定位DataFrame的元素,选择列时仅支持列名:data.at[row_index,‘column_names‘]

iat函数

与at的功能相同,只使用索引参数:data.iat[row_index,column_index]

原文地址:https://www.cnblogs.com/aro7/p/9748202.html

时间: 2024-10-28 22:58:39

pandas DataFrame数据筛选和切片的相关文章

Pandas DataFrame 数据选取和过滤

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

Pandas dataframe数据写入文件和数据库

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFrame是一张多维的表,大家可以把它想象成一张Excel表单或者Sql表.之前这篇文章已经介绍了从各种数据源将原始数据载入到dataframe中,这篇文件介绍怎么将处理好的dataframe中的数据写入到文件和数据库中. 首先我们通过二维ndarray创建一个简单的DataFrame: 1 2 3 4 5 6 7 8 import pandas as pd imp

pandas dataframe 数据框

数据框是一个二维数据结构,类似于SQL中的表格.借助字典,数组,列表和序列等可以构造数据框. 1.字典创建数据框,则列的名称为key的名称: d = {'one':pd.Series([1,2,3],index= ['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d']) } print(pd.DataFrame(d)) 2.列表创建数据框: d = pd.DataFrame([[1,2,3,4],[5,6,7,8],[1

pandas dataframe数据提取的方法

import numpy as np from pandas import DataFrame import pandas as pd df=DataFrame(np.arange(12).reshape((3,4)),index=['one','two','thr'],columns=list('abcd')) df['a']#取a列 df[['a','b']]#取a.b列 #ix可以用数字索引,也可以用index和column索引 df.ix[0]#取第0行 df.ix[0:1]#取第0行

将pandas的DataFrame数据写入MySQL数据库 + sqlalchemy

将pandas的DataFrame数据写入MySQL数据库 + sqlalchemy [python] view plain copy print? import pandas as pd from sqlalchemy import create_engine ##将数据写入mysql的数据库,但需要先通过sqlalchemy.create_engine建立连接,且字符编码设置为utf8,否则有些latin字符不能处理 yconnect = create_engine('mysql+mysql

用PyQt5来即时显示pandas Dataframe的数据,附qdarkstyle黑夜主题样式(美美哒的黑夜主题)

import sys from qdarkstyle import load_stylesheet_pyqt5 from PyQt5.QtWidgets import QApplication, QTableView from PyQt5.QtCore import QAbstractTableModel, Qt class QtTable(QAbstractTableModel): def __init__(self, data): QAbstractTableModel.__init__(s

Pandas中DataFrame数据合并、连接(concat、merge、join)之join

pandas.DataFrame.join 自己弄了很久,一看官网.感觉自己宛如智障.不要脸了,直接抄 DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False) Join columns with other DataFrame either on index or on a key column. Efficiently Join multiple DataFrame objects by in

pandas.DataFrame学习系列1——定义及属性

定义: DataFrame是二维的.大小可变的.成分混合的.具有标签化坐标轴(行和列)的表数据结构.基于行和列标签进行计算.可以被看作是为序列对象(Series)提供的类似字典的一个容器,是pandas中主要的数据结构. 形式: class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) 参数含义: data : numpy ndarray(多维数组)(结构化或同质化的), dict(字典

pandas.DataFrame学习系列2——函数方法(1)

DataFrame类具有很多方法,下面做用法的介绍和举例. pandas.DataFrame学习系列2--函数方法(1) 1.abs(),返回DataFrame每个数值的绝对值,前提是所有元素均为数值型 1 import pandas as pd 2 import numpy as np 3 4 df=pd.read_excel('南京银行.xlsx',index_col='Date') 5 df1=df[:5] 6 df1.iat[0,1]=-df1.iat[0,1] 7 df1 8 Open