Pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。
Pandas特色
Pandas 适用于处理以下类型的数据:
- 与 SQL 或 Excel 表类似的,含异构列的表格数据;
- 有序和无序(非固定频率)的时间序列数据;
- 带行列标签的矩阵数据,包括同构或异构型数据;
- 任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。
Pandas数据结构
Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。对于 R 用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。
维数 | 名称 | 描述 |
---|---|---|
1 | Series | 带标签的一维同构数组 |
2 | DataFrame | 带标签的,大小可变的,二维异构表格 |
Pandas用法
Pandas用法与Matlab中矩阵操作很类似,熟悉Matlab操作的同学可以很快上手Pandas。
生成对象
生成Series对象:
1 | In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8]) |
生成DataFrame对象:
1 | In [7]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD')) |
列切片
1 | df1 = df[df.columns[0:6]]; |
重命名列名
1 | df1.columns['id','name','sex','age','department','work'] |
过滤行
1 | df1 = df1[df1.iloc[:,1]=='YES'] |
合并表格
pandas 2.0实现数据的合并与拼接,主要有三种方法:
- join 最简单,主要用于基于索引的横向合并拼接
- merge 最常用,主要用于基于指定列的横向合并拼接
- concat最强大,可用于横向和纵向合并拼接
1 | # 合并两个表,df1 和 df2 表结构一样 |
毫秒解析
1 | timeDelta = datetime.datetime(2024,11,11) - datetime.datetime(1900,1,1) |
按时间排序
1 | df3 = df3.sort_values(by="datetime") |
输出CSV表格
1 | df3.to_csv(filePath + 'test.csv',index=0) |
参考链接
- Pandas 中文,by pypandas.
- 十分钟入门 Pandas,by pypandas.
- Python读取csv文件的三种方式,by 涛声依旧2019.
- Python模块化开发组织代码程序示例,by BabyFish13.
- Python最佳实践指南!,by Prodesire.
- pandas中DataFrame 数据合并,连接(merge,join,concat) ,by Vincent-yuan.
- 【已解决】AttributeError: ‘DataFrame‘ object has no attribute ‘append‘,by zhtstar.
- pandas DataFrame数据重命名列名的几种方式,by littleRpl.
- Pandas 毫秒级时间解析,by 一定波兮.