Pandas数据选取与操作指南:列选择、修改与删除

0 下载量 69 浏览量 更新于2024-08-29 收藏 155KB PDF 举报
在机器学习和数据分析中,pandas是一个至关重要的库,它提供了高效的数据操作工具,使得数据预处理变得简单易行。本教程将详细讲解如何利用pandas进行数据选取操作。 首先,我们启动jupyter notebook并创建一个新的notebook。接着,我们需要导入pandas库,通常用`pd`作为别名,这样可以方便后续的代码编写。例如: ```python import pandas as pd ``` 接下来,我们可以使用字典来构建一个DataFrame对象。在这个例子中,我们创建了一个包含姓名、年龄和身高信息的数据框: ```python data = { 'name': ['张三', '李四', '王五', '赵六'], 'age': [18, 19, 17, 20], 'height': [1.68, 1.73, 1.62, 1.55] } df = pd.DataFrame(data, columns=['name', 'age', 'height']) ``` 此时,`df`是一个DataFrame对象,我们可以用它来访问和操作数据。获取特定列的数据有多种方法: - 直接通过列名字符串访问:`df['name']` 返回的是一个Series对象,包含所有人的姓名。 - 通过属性访问:`df.age` 也可以获取年龄列,同样返回Series。 若想一次性选取多个列,可以传入一个列表,如 `df[['name', 'age']]`,这将返回一个新的DataFrame,包含所选的列。 在修改数据时,需要注意赋值操作可能会影响到原始数据框。例如,当我们尝试修改列的值时: ```python names = df['name'] names[0] = '张三丰' ``` 这将改变`names` Series的值,但不会改变原始DataFrame `df`。若想避免这种影响,需要在赋值前先复制列: ```python names = df['name'].copy() names[0] = '张无忌' ``` 此时,修改`names`不会影响`df`。 pandas提供了多种方法来获取列的信息,例如`df.columns`可以获取所有列名,通过切片操作可以获取部分列名: ```python df.columns[1:3] # 获取第2到第3列的列名 ``` 并可以用这些列名来选取相应的数据: ```python df[df.columns[1:3]] # 选取第2到第3列的数据 ``` 在DataFrame中添加新列也很简单,例如: ```python import datetime df['year'] = datetime.datetime.now().year - df.age ``` 这将根据每个人的年龄计算出生年份。 删除列可以使用`drop`函数,指定`axis=1`表示按列删除: ```python df.drop('year', axis=1) # 删除'year'列 df.drop(['height', 'year'], axis=1) # 删除多列 ``` 另外,也可以使用切片形式删除列: ```python df.drop(df.columns[1::2]) # 删除偶数位置的列 ``` 以上就是pandas在数据选取操作中的一些基本技巧,包括创建DataFrame、选取列、修改和删除列。在实际的数据分析和机器学习项目中,熟练掌握这些操作对于高效处理数据至关重要。