Python pandas数据处理全攻略

23 下载量 22 浏览量 更新于2024-09-04 收藏 60KB PDF 举报
"python之pandas用法大全" Python的Pandas库是数据分析领域最常用的工具之一,它提供了高效的数据处理和分析功能。本篇将详细阐述Pandas的基本用法,帮助初学者快速上手。 一、生成数据表 1. 导入Pandas库和Numpy库是使用Pandas的第一步。`import numpy as np` 和 `import pandas as pd` 是常见的导入方式。 2. 读取CSV或Excel文件:`pd.read_csv()` 用于读取CSV文件,`pd.read_excel()` 用于读取Excel文件。`header=1` 表示第二行作为列名。 3. 创建数据表:使用`pd.DataFrame()`函数,传入字典作为数据,其中键为列名,值为对应的序列。例如,创建一个包含日期、城市、年龄、类别和价格的数据表。 二、数据表信息查看 1. `df.shape` 返回一个元组,表示数据表的行数和列数。 2. `df.info()` 提供数据框的概览,包括每列的非空值数量、数据类型等。 3. `df.dtypes` 显示每列的数据类型。 4. `df['B'].dtype` 查看特定列'B'的数据类型。 5. `df.isnull()` 返回一个布尔型数据表,显示哪些值是空值。 6. `df.isnull().sum()` 计算每列空值的总数。 7. `df['B'].unique()` 返回列'B'的所有唯一值。 8. `df.values` 返回数据表的NumPy数组形式。 9. `df.columns` 获取所有列的名称列表。 10. `df.head()` 和 `df.tail()` 分别显示数据表的前5行和后5行,默认是5行,可以传递参数指定行数。 三、数据表清洗 1. 使用`fillna()`函数可以填充空值,如`df.fillna(value=0)`将所有空值替换为0。 2. 用某一列的均值填充该列的NA值,如`df['prince'].fillna(df['prince'].mean())`。 3. 删除含有空值的行:`df.dropna()`,默认删除任何包含NA值的行,可设置`how='any'`或`how='all'`来控制条件。 4. 填充空值还可以使用中位数、众数或自定义值,例如`df['column'].fillna(df['column'].median())`。 四、数据操作 1. 选择列:`df['column']` 或 `df.column`。 2. 选择行:`df.loc[row_indexer]` 或 `df.iloc[row_indexer, column_indexer]`。 3. 添加新列:`df['new_column'] = some_value`。 4. 数据排序:`df.sort_values(by='column_name', ascending=True/False)`。 5. 数据筛选:`df[df['column'] > value]`。 6. 合并数据表:`pd.concat([df1, df2], axis=0/1)`,axis=0横向合并,axis=1纵向合并。 五、数据统计 1. 计算描述性统计:`df.describe()`,包括计数、平均值、标准差、最小值、四分位数和最大值。 2. 分组统计:`df.groupby('column').agg(func)`,可以对不同组应用函数。 六、数据重塑与对齐 1. 转置数据表:`df.T`。 2. 数据重塑:`pd.melt(df, id_vars, value_vars)`,用于将宽格式数据转换为长格式。 3. 数据对齐:Pandas会自动对齐相同索引的数据,即使它们在不同的数据结构中。 七、时间序列分析 1. `pd.to_datetime()` 将字符串转换为日期时间对象。 2. 时间序列索引:`df.set_index('date')` 可以将'date'列设为索引,方便时间序列操作。 通过以上介绍,读者应能掌握Pandas的基本操作,进一步学习和实践将有助于深入理解和应用Pandas进行复杂的数据分析任务。