一、Pandas的数据结构
Pandas主要提供了两种数据结构:
Series:
定义:Series是一种一维数组形式的数据结构,它仅有一个维度(索引),可以存储任何数据类型(整数、字符串、浮点数、Python对象等),轴标签统称为索引(index)。
创建:可以通过多种方式创建Series,如从列表、数组、字典等。
示例:s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
DataFrame:
定义:DataFrame是一个二维的、表格型的数据结构,可以把它想象成一个Excel表格,既有行索引也有列索引。
创建:可以通过多种方式创建DataFrame,如从字典、Series字典、ndarray等。
示例:df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
二、基本数据操作
索引操作:
可以通过列名或行索引名来获取数据。
使用.loc[]进行标签索引,.iloc[]进行整数位置索引。
示例:df.loc['a']获取行索引为'a'的行,df.iloc[0]获取第一行。
赋值操作:
可以直接通过索引对DataFrame或Series中的数据进行赋值。
示例:df.loc['a', 'A'] = 10将行索引为'a'、列索引为'A'的值修改为10。
排序操作:
可以使用.sort_index()根据索引排序,使用.sort_values()根据值排序。
示例:df.sort_values(by='A', ascending=False)将DataFrame根据列'A'的值降序排序。
三、数据处理与分析
数据清洗:
缺失值处理:使用.fillna()填充缺失值,.dropna()删除含有缺失值的行或列。
重复值处理:使用.drop_duplicates()删除重复的行。
数据筛选:
可以使用条件表达式进行数据的筛选。
示例:df[df['A'] > 3]选取列'A'中值大于3的行。
分组与聚合:
使用.groupby()对数据进行分组,然后使用聚合函数(如sum(), mean(), max()等)对分组后的数据进行处理。
示例:df.groupby('A').sum()按列'A'的值分组,并计算每组的和。
四、数据读写
Pandas提供了丰富的数据读写接口,支持多种文件格式,如CSV、Excel、JSON、SQL等。
读取数据:
pd.read_csv('file.csv'):从CSV文件读取数据。
pd.read_excel('file.xlsx'):从Excel文件读取数据。
pd.read_json('file.json'):从JSON文件读取数据。
写入数据:
df.to_csv('file.csv', index=False):将DataFrame写入CSV文件,不写入索引。
df.to_excel('file.xlsx', index=False):将DataFrame写入Excel文件,不写入索引。
df.to_json('file.json', orient='records'):将DataFrame写入JSON文件,使用'records'格式