1. 安装和导入
1.1 安装
pip install pandas
pip install numpy
1.2 导入
import pandas as pd
import numpy as np
2. 数据结构
2.1 Series(系列)
-
定义:一维标签化数组,可以保存任何数据类型(整数、浮点数、字符串等)。
-
创建 Series:
-
# 从列表创建 s = pd.Series([10, 20, 30, 40]) # 从字典创建 s = pd.Series({'a': 10, 'b': 20, 'c': 30}) # 从标量值创建 s = pd.Series(5, index=['a', 'b', 'c'])
访问数据:
-
# 通过标签访问 s['a'] # 通过位置访问 s[0]
2.2 DataFrame(数据框)
-
定义:二维标签化数据结构,类似于一个表格,由行和列组成。
-
创建 DataFrame:
# 从字典创建 data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data) # 从列表创建 data = [[1, 4], [2, 5], [3, 6]] df = pd.DataFrame(data, columns=['A', 'B'])
访问数据:
# 选择列 df['A'] # 选择多列 df[['A', 'B']] # 选择行 df.loc[0] # 按标签 df.iloc[0] # 按位置 # 条件选择 df[df['A'] > 1]
3. 数据查看
3.1 查看数据
# 查看前几行 df.head(n) # 前n行 # 查看后几行 df.tail(n) # 后n行 # 查看数据概况 df.info() # 查看数据的统计信息 df.describe() ''' count : 样本数据大小 mean : 样本数据的平均值 std : 样本数据的标准差 min : 样本数据的最小值 25% : 样本数据25%的时候的值 50% : 样本数据50%的时候的值 75% : 样本数据75%的时候的值 max : 样本数据的最大值 ''' test['xx'].describe() #统计xx的对应数据
4. 数据操作
4.1 增加和删除列
# 增加列 df['C'] = [7, 8, 9] # 删除列 df.drop('C', axis=1, inplace=True) # inplace=True 表示在原地删除
4.2 修改数据
# 修改特定值 df.loc[0, 'A'] = 10
5. 数据清洗
5.1 处理缺失值
# 查看缺失值 df.isna().sum() # 删除缺失值 df.dropna() # 删除有缺失值的行 df.dropna(axis=1) # 删除有缺失值的列 # 填充缺失值 df.fillna(value=0) # 用0填充缺失值 df.fillna(method='ffill') # 用前一个值填充 df.fillna(method='bfill') # 用后一个值填充
6. 数据排序
# 按列排序 df.sort_values(by='A', ascending=False/true) # 按行排序 df.sort_index(ascending=False/true)
7. 数据导入与导出
7.1 导入数据
# 从CSV文件导入 df = pd.read_csv('file.csv') # 从Excel文件导入 df = pd.read_excel('file.xlsx') # 从JSON文件导入 df = pd.read_json('file.json')
7.2 导出数据
# 导出到CSV文件 df.to_csv('file.csv', index=False) # 导出到Excel文件 df.to_excel('file.xlsx', index=False) # 导出到JSON文件 df.to_json('file.json')
部分还未完善,待日后补充