Pandas教程:筛选与处理数据行和列

版权申诉
5星 · 超过95%的资源 33 下载量 147 浏览量 更新于2024-09-15 收藏 258KB PDF 举报
"pandas数据处理基础之筛选指定行或者指定列的数据" 在Pandas库中,数据处理涉及对Series和DataFrame对象的操作。Series类似于一维数组,而DataFrame是二维表格数据结构,类似于数据库中的表格。这篇文章主要讲解了如何在Pandas中筛选指定行或列的数据,包括重新索引、丢弃指定轴上的元素以及基于条件的选取和过滤。 1. 重新索引 (reindex and ix) - reindex方法允许你改变现有数据的索引。对于Series,你可以创建一个新的索引列表,如`data.reindex(['a','c','d','e'])`,这会尝试将原Series的值映射到新的索引上,未找到对应值的位置填充NaN。 - 对于DataFrame,你可以独立地修改行索引和列索引。行索引的修改方式与Series相同,而列索引的修改则通过`reindex(columns=['m1','m2','m3'])`实现,同样未匹配的列也会置为NaN。 2. 丢弃指定轴上的列 (drop) - `drop`函数可以用来删除行或列。例如,`data.drop(['a','c'])`将删除行索引为'a'和'c'的行,相当于SQL中的`DELETE FROM table WHERE xid='a' OR xid='c'`。如果设置`axis=1`,如`data.drop('m1', axis=1)`,则会删除列索引为'm1'的列,相当于SQL中的`DELETE FROM table WHERE yid='m1'`。 3. 选取和过滤 - 在Pandas中,选取和过滤数据非常直观。对于Series,你可以按照行索引选取数据,如`obj['b']`代表选取索引为'b'的元素,相当于SQL的`SELECT * FROM table WHERE xid='b'`。而`obj['b','a','c']`则返回索引在'b'、'a'、'c'的元素,顺序按照提供的列表,不同于SQL的无序选取。 - 通过切片操作,`obj[0:1]`选取索引范围从0到1(不包括1)的数据,而`obj['a':'b']`选取索引从'a'到'b'(不包括'b')的连续区间。注意,这些操作都是基于索引的,而非实际值。 在实际应用中,Pandas提供了丰富的功能来处理和筛选数据,包括但不限于布尔索引、条件过滤、合并、分组等。理解并熟练运用这些操作是数据分析和数据清洗过程中的关键步骤。掌握这些基础知识能帮助你在处理数据时更加高效和精确。