当前位置: 首页 > news >正文

Pandas模块

​Pandas 模块常用功能与方法总结​

Pandas 是 Python 的核心数据分析库,基于 NumPy 构建,提供高效的数据结构(如 DataFrameSeries)和数据处理工具。以下是其核心功能及常用方法:


​一、数据结构​

​1. Series(一维带标签数组)​

  • ​创建​​:
    import pandas as pd
    s = pd.Series([1, 3, 5, np.nan], index=['a', 'b', 'c', 'd'])
  • ​常用操作​​:
    方法说明示例
    s.values获取值数组[1, 3, 5, nan]
    s.index获取索引Index(['a', 'b', 'c', 'd'])
    s.loc[]按标签访问s.loc['b']3
    s.iloc[]按位置访问s.iloc[1]3

​2. DataFrame(二维表格)​

  • ​创建​​:
    df = pd.DataFrame({'A': [1, 2, 3],'B': ['x', 'y', 'z']
    })
  • ​常用属性​​:
    属性说明示例
    df.shape行列数(3, 2)
    df.columns列名列表['A', 'B']
    df.dtypes列数据类型A: int64, B: object

​二、数据读取与写入​

​1. 读取数据​

方法说明示例
pd.read_csv()读取 CSVdf = pd.read_csv('data.csv')
pd.read_excel()读取 Exceldf = pd.read_excel('data.xlsx')
pd.read_sql()从 SQL 读取pd.read_sql('SELECT * FROM table', conn)

​2. 写入数据​

方法说明示例
df.to_csv()保存为 CSVdf.to_csv('output.csv')
df.to_excel()保存为 Exceldf.to_excel('output.xlsx')
df.to_sql()写入 SQL 数据库df.to_sql('table', conn)

​三、数据查看与筛选​

​1. 查看数据​

方法说明示例
df.head(n)查看前 n 行df.head(5)
df.tail(n)查看后 n 行df.tail(3)
df.info()数据摘要显示列名、非空值数量等
df.describe()统计描述均值、标准差、分位数等

​2. 数据筛选​

方法说明示例
​列筛选​选择列df['A']df[['A', 'B']]
​行筛选​按条件选择行df[df.A > 2]
df.loc[]按标签筛选df.loc[df.index[0:2], 'A']
df.iloc[]按位置筛选df.iloc[0:2, 1]

​四、数据清洗​

​1. 处理缺失值​

方法说明示例
df.isna()检测缺失值df.isna().sum()
df.dropna()删除缺失值df.dropna(axis=0)
df.fillna()填充缺失值df.fillna(0)

​2. 去重与替换​

方法说明示例
df.drop_duplicates()删除重复行df.drop_duplicates()
df.replace()替换值df.replace({'x': 'new'})

​3. 类型转换​

df['A'] = df['A'].astype('float')  # 转换为浮点数

​五、数据变形​

​1. 排序​

方法说明示例
df.sort_values()按值排序df.sort_values('A', ascending=False)
df.sort_index()按索引排序df.sort_index()

​2. 分组与聚合​

方法说明示例
df.groupby()分组df.groupby('B').mean()
df.pivot_table()透视表pd.pivot_table(df, values='A', index='B')

​3. 合并与连接​

方法说明示例
pd.concat()拼接数据pd.concat([df1, df2])
pd.merge()类似 SQL JOINpd.merge(df1, df2, on='key')

​六、时间序列处理​

​1. 时间戳转换​

df['date'] = pd.to_datetime(df['date'])

​2. 时间索引操作​

方法说明示例
df.resample()重采样df.resample('D').mean()
df.rolling()滚动窗口df.rolling(7).mean()

​七、高效计算技巧​

​1. 向量化操作​

df['C'] = df['A'] + df['B']  # 避免循环

​2. 应用函数​

df['A'] = df['A'].apply(lambda x: x * 2)

​3. 性能优化​

  • 使用 df.eval() 加速计算:
    df.eval('C = A + B', inplace=True)

​总结​

Pandas 的核心功能围绕 ​​表格数据处理​​,适用于:

  • ​数据清洗​​(处理缺失值、去重)
  • ​数据转换​​(分组、聚合、透视)
  • ​数据分析​​(统计、时间序列分析)
  • ​数据可视化​​(结合 Matplotlib/Seaborn)

​学习建议​​:

  1. 掌握 DataFrameSeries 的基本操作。
  2. 熟练使用 groupbymerge 等高级功能。
  3. 结合真实数据集练习(如 Kaggle 数据集)。

官方文档:pandas.pydata.org


文章转载自:

http://p0110g3z.kdbcx.cn
http://wjs3u1wh.kdbcx.cn
http://fww4gXwy.kdbcx.cn
http://VaagwlJx.kdbcx.cn
http://3p1DT92Y.kdbcx.cn
http://Obv6G7j3.kdbcx.cn
http://zsNm4MhW.kdbcx.cn
http://EiHw9gf6.kdbcx.cn
http://U3nzbm0B.kdbcx.cn
http://tcHfSwmS.kdbcx.cn
http://rXgMDZ6c.kdbcx.cn
http://KdkphyDi.kdbcx.cn
http://LeWzLm3T.kdbcx.cn
http://hIwSmjV3.kdbcx.cn
http://1LZnF4Mi.kdbcx.cn
http://K1n7I6El.kdbcx.cn
http://TAVsnhqn.kdbcx.cn
http://Uri6IYp4.kdbcx.cn
http://uXhAf5jm.kdbcx.cn
http://kB38lkm5.kdbcx.cn
http://WRlC517Y.kdbcx.cn
http://mxBYF2yK.kdbcx.cn
http://xDh6HIus.kdbcx.cn
http://vNOPBy1d.kdbcx.cn
http://WoUUNsQd.kdbcx.cn
http://FGTFeTF8.kdbcx.cn
http://ZbUKLNWC.kdbcx.cn
http://ECOFi93C.kdbcx.cn
http://vKLkxLE1.kdbcx.cn
http://nHlyMbma.kdbcx.cn
http://www.dtcms.com/a/383317.html

相关文章:

  • 在Unity2021中使用Profiler的Deep Profile功能时内存超高怎么办?
  • GooseDB,一款实现服务器客户端模式的DuckDB
  • openEuler部署Samba服务器:实现跨平台文件共享
  • 认知语义学的象似性原理对人工智能自然语言处理深层语义分析的影响与启示
  • 【Linux】线程池模拟
  • TensorRT 10.13.3: Limitations
  • RK3568编写自启动脚本
  • AI 伦理争议背后:算法偏见如何产生?又该如何规避?
  • C++ 中使用 iterator 中注意事项和优化技巧(2)
  • 【MySQL|第八篇】事务与索引
  • OD C卷 - 小明找位置
  • JavaScript与jQuery:从入门到面试的完整指南
  • 最长上升子序列(LIS)全解析:从基础到进阶(基础讲解篇)
  • 海盗王64位dx9客户端修改篇之七
  • 【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
  • Redis的RedLock
  • AutoGen——自定义Agent
  • 第5节-连接表-Natural-Join
  • CentOS Docker 环境下安装 HertzBeat 并配置 VictoriaMetrics 时序数据库指南
  • 【Linux】 存储分级的秘密
  • GitAgent-面壁智能联合清华大学发布的大模型智能体应用框架
  • 《基于国产Linux的机房终端安全重构方案》
  • JavaWeb-Servlet总结及JSP
  • 《黑神话:悟空》Xbox版本性能模式画质分析
  • 支持向量机:从理论到实践
  • 软件体系结构——发展脉络
  • 【C++】队列queue的使用
  • 对网络通信领域的“活化石”与“瑞士军刀”—— `telnet`
  • 迭代器和生成器的区别与联系
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘numpy’ 问题