2021-11-24 11:01:40
Pandas是Python中用于数据处理与分析的核心库,其核心功能围绕数据结构、数据读写和数据操作展开。以下是关键内容的系统总结:
一、核心数据结构Series
定义:一维带标签数组,支持数值、字符串等数据类型。
示例:
import pandas as pds = pd.Series([1, 3, 5, np.nan, 6, 8]) # 自动生成索引0-5特点:可通过索引访问数据(如s[0]),支持向量化操作。
DataFrame
定义:二维表格型结构,含行索引和列索引,每列可独立指定数据类型。
示例:
data = {'Country': ['Belgium', 'India'], 'Population': [11190846, 1303171035]}df = pd.DataFrame(data, columns=["Country", "Population"])特点:类似电子表格或SQL表,支持多列混合类型(如数值+字符串)。
读取数据
支持格式:CSV、Excel、JSON、SQL等。
常用函数:
df = pd.read_csv('data.csv') # 读取CSVdf = pd.read_excel('data.xlsx') # 读取Exceldf = pd.read_sql('SELECT * FROM table', con) # 读取SQL写入数据
示例:
df.to_csv('output.csv', index=False) # 保存为CSV(不保留索引)df.to_excel('output.xlsx') # 保存为Excel基础选择
列选择:df['列名'] 或 df.列名(如df.Name)。
行选择:
按位置:df.iloc[0](第1行)。
按条件:df[df.Age > 20](筛选Age>20的行)。
数据聚合
统计函数:
df['Age'].sum() # 求和df['Country'].value_counts() # 统计各值出现次数分组聚合:
df.groupby('Country')['Age'].mean() # 按国家分组计算平均年龄缺失值处理
检测缺失值:df.isnull()。
填充/删除:
df.fillna(0) # 用0填充缺失值df.dropna() # 删除含缺失值的行数据合并
合并DataFrame:
pd.concat([df1, df2]) # 纵向合并pd.merge(df1, df2, on='Key') # 类似SQL JOIN数据透视表
示例:
pd.pivot_table(df, values='Age', index='Country', aggfunc='mean')时间序列处理
转换时间戳:
df['Date'] = pd.to_datetime(df['Date'])df.set_index('Date', inplace=True) # 设置为时间索引Pandas通过Series和DataFrame构建数据结构,提供高效读写(支持多种格式)、灵活选择(行列操作、条件筛选)及强大分析(分组、透视、时间序列)能力。其设计简洁但功能强大,是Python数据科学领域的基石工具。