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

1分钟了解pandas

Pandas 是一个强大的 Python 库,用于数据分析和数据处理。它为 Python 提供了高效的数据结构和数据分析工具,使得数据操作变得简单而直观。Pandas 由 Wes McKinney 在 2008 年创建,并迅速成为数据科学领域中最受欢迎的库之一。

安装 Pandas

在开始使用 Pandas 之前,需要先安装它。如果你已经安装了 Anaconda 或其他科学计算环境,那么 Pandas 可能已经包含在里面。如果没有,可以通过 pip 安装:

pip install pandas

导入 Pandas

在 Python 脚本或交互式环境中导入 Pandas:

import pandas as pd

数据结构

Pandas 提供了两种主要的数据结构:Series 和 DataFrame。

Series

Series 是一种一维数组,可以容纳任何数据类型(整数、字符串、浮点数等)。Series 类似于 NumPy 的一维数组,但提供了更多功能,如标签索引。

创建 Series 示例:

import pandas as pd# 使用列表创建 Series
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)# 使用字典创建 Series
data_dict = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data_dict)
print(s)
DataFrame

DataFrame 是一个二维表格型数据结构,它可以存储不同类型的数据。DataFrame 类似于 Excel 表格,每一列都可以是不同的值类型。DataFrame 由多个 Series 组成。

创建 DataFrame 示例:

import pandas as pd# 使用字典创建 DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],'Age': [20, 21, 19, 20]}
df = pd.DataFrame(data)
print(df)# 指定索引
df = pd.DataFrame(data, index=['r1', 'r2', 'r3', 'r4'])
print(df)

基本操作

查看数据
  • head(): 显示前几行数据,默认为 5 行。
  • tail(): 显示最后几行数据,默认为 5 行。
  • info(): 显示 DataFrame 的摘要信息。
  • describe(): 显示数值型列的统计信息。

示例:

print(df.head())
print(df.tail())
print(df.info())
print(df.describe())
选择数据
  • loc[]: 通过标签来获取数据。
  • iloc[]: 通过位置来获取数据。

示例:

print(df.loc['r1'])
print(df.iloc[1])
print(df.loc[:, 'Name'])
print(df.iloc[:, 1])
过滤数据
  • 使用布尔条件过滤数据。

示例:

print(df[df['Age'] > 20])
分组数据
  • 使用 groupby() 对数据进行分组并应用聚合函数。

示例:

print(df.groupby('Name').mean())
合并数据
  • concat(): 沿着一个轴连接 Series 或 DataFrame 对象。
  • merge(): 根据一个或多个键将 DataFrame 对象合并在一起。
  • join(): 将多个 DataFrame 沿着一个轴堆叠起来。

示例:

df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],'value': np.random.randn(4)})
df2 = pd.DataFrame({'key': ['B', 'D', 'D', 'E'],'value': np.random.randn(4)})result = pd.concat([df1, df2], ignore_index=True)
print(result)result = pd.merge(df1, df2, on='key')
print(result)

缺失数据

Pandas 支持缺失数据,并提供了一些工具来处理缺失值。

示例:

df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
df.iloc[1, 1] = np.nan
df.iloc[2, 2] = np.nan
print(df)
print(df.dropna())  # 删除含有缺失值的行
print(df.fillna(value=0))  # 用 0 填充缺失值

时间序列

Pandas 有一个强大的时间序列功能集。

示例:

dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(df)

结论

Pandas 是 Python 中一个非常重要的库,用于数据处理和分析。它提供了丰富的数据结构和数据操作方法,能够高效地处理各种数据格式和大小。无论是对于数据科学家还是研究人员来说,掌握 Pandas 都是非常有用的技能。

http://www.lryc.cn/news/425547.html

相关文章:

  • django-celery应用-定时执行测试cases
  • 【C++深度探索】unordered_set、unordered_map封装
  • CSS——字体背景(Font Background)
  • 秋招突击——8/15——知识补充——Socket通信
  • Qt第十四章 模型视图
  • 硬件工程师必须掌握的MOS管详细知识
  • 希尔排序,详细解析(附图解)
  • 【C语言篇】编译和链接以及预处理介绍(下篇)
  • 利用Llama2 7b自己实现一套离线AI
  • Ciallo~(∠・ω・ )⌒☆第十七篇 Ubuntu基础使用 其一
  • Linux-零拷贝技术
  • 小区团购管理
  • 图像文本擦除无痕迹!复旦提出EAFormer:最新场景文本分割新SOTA!(ECCV`24)
  • Codeforces Round 966 (Div. 3)(A,B,C,D,E,F)
  • 【代码随想录算法训练营第42期 第六天 | LeetCode242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和】
  • WebRTC音视频开发读书笔记(一)
  • llama3.1本地部署方式
  • 相机光学(三十四)——色差仪颜色观察者视角
  • 思二勋:web3.0是打造应对复杂市场敏捷组织的关键
  • 一文带你快速了解——HAProxy负载均衡
  • 【C++高阶】哈希—— 位图 | 布隆过滤器 | 哈希切分
  • 启发式算法之模拟退火算法
  • 编码器汇总:光学编码器,霍尔编码器,磁性编码器,电容式编码器,单圈编码器,多圈编码器,增量式编码器,绝对值式编码器等
  • 有哪些性价比高的蓝牙耳机可入?四款百万好评实力品牌推荐!
  • MySQL数据库——表的CURD(Update)
  • 性能测试 —— linux服务器搭建JMeter+Grafana+Influxdb监控可视化平台!
  • python基础命令学习
  • 程序设计基础(试题及答案)
  • 日常收录资源
  • 索引——电子学