Python中的Pandas库是一个功能强大的数据结构和数据分析工具,它提供了大量易于使用且高效的数据分析工具。本文将详细介绍Pandas的一些基本用法和功能。 要使用Pandas,我们需要导入Pandas库,通常还会用到NumPy库,因为Pandas在许多操作中会依赖于NumPy提供的数据结构。所以,我们首先导入这两个库,通常使用`pd`和`np`这样的别名以便于快速调用。 ```python import numpy as np import pandas as pd ``` 接下来,我们可以通过Pandas直接导入CSV或Excel文件,并将其转换为DataFrame对象。这使我们能够对存储在这些文件中的数据进行操作。在导入时,我们还可以指定某些参数,例如`header`参数,它用于指定哪一行作为列名。 ```python df = pd.DataFrame(pd.read_csv('name.csv', header=1)) df = pd.DataFrame(pd.read_excel('name.xlsx')) ``` 除了导入数据,我们还可以用Pandas创建新的数据表。通过传递一个字典到`pd.DataFrame()`函数中,我们能够创建包含特定数据和列名的DataFrame对象。 ```python df = pd.DataFrame({ "id": [1001, 1002, 1003, 1004, 1005, 1006], "date": pd.date_range('***', periods=6), "city": ['Beijing', 'SH', 'guangzhou', 'Shenzhen', 'shanghai', 'BEIJING'], "age": [23, 44, 54, 32, 34, 32], "category": ['100-A', '100-B', '110-A', '110-C', '210-A', '130-F'], "price": [1200, np.nan, 2133, 5433, np.nan, 4432] }, columns=['id', 'date', 'city', 'category', 'age', 'price']) ``` 数据表的基本信息,包括维度、列名称、数据格式和所占空间等,可以通过以下方法来查看: - 查看数据表的维度(行数和列数):`df.shape` - 查看每一列数据的格式:`***()` 或 `df.dtypes` - 查看某一列的数据格式:`df['某列名'].dtype` - 查看数据表的空值情况:`df.isnull()` - 查看某一列的空值:`df['某列名'].isnull()` - 查看某一列的唯一值:`df['某列名'].unique()` - 查看数据表的值:`df.values` - 查看列名称:`df.columns` - 查看前几行数据:`df.head()` 默认查看前10行 - 查看后几行数据:`df.tail()` 默认查看后10行 数据表清洗是数据分析中常见的任务,Pandas提供了丰富的工具来进行数据清洗: - 用数字0填充空值:`df.fillna(value=0)` - 使用其他值或统计值填充空值,例如使用某一列的均值:`df['某列名'].fillna(df['某列名'].mean())` - 清除字符串字段中的空格:`df['某列名'] = df['某列名'].map(str.strip)` - 字符串的大小写转换:`df['某列名'] = df['某列名'].str.lower()` 或 `df['某列名'].str.upper()` - 更改数据格式:`df['某列名'].astype('新数据类型')` - 更改列名称:`df.rename(columns={'旧列名': '新列名'}, inplace=True)` - 删除重复值:`df['某列名'].drop_duplicates()`,可指定`keep='last'`保留最后一次出现的重复值 - 数据替换:`df['某列名'].replace('旧值', '新值')` 在数据预处理阶段,Pandas允许我们对数据进行合并、排序、条件分组和标记等操作: - 数据表合并,通过`pd.merge()`函数,我们能够将两个DataFrame对象按照不同的规则合并。如内连接(`inner`)、左连接(`left`)、右连接(`right`)、外连接(`outer`)等。 - 设置索引列:`df.set_index('某列名')` - 按照特定列的值进行排序:`df.sort_values(by=['某列名'])` - 按照索引列进行排序:`df.sort_index()` - 根据条件对列的值进行更改:`df['新列名'] = np.where(df['某列名'] > 某值, 'high', 'low')`,其中`np.where`函数会根据条件返回不同的值。 - 对复合多个条件的数据进行分组标记:`df.loc[(df['某列名1'] == 某值1) & (df['某列名2'] >= 某值2), '新标记列名'] = 1` 需要注意的是,由于文档内容是通过OCR扫描得到的,可能会存在一些字的识别错误或者遗漏的情况。在实际使用中,需要根据上下文和实际情况来理解文档内容,确保代码的正确性。如果遇到无法直接理解的代码,可以通过查阅Pandas官方文档或相关编程资源来获得准确信息。
- 粉丝: 2
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助