Python的Pandas库(二)进阶使用

Python开发实用教程

DataFrame的运算

DataFrame重载了运算符,支持许多的运算

算术运算

|---------------------|----------------------------|
| 运算方法 | 运算说明 |
| df.add(other) | 对应元素的加,如果是标量,就每个元素加上标量 |
| df.radd(other) | 等效于other+df |
| df.sub(other) | 对应元素相减,如果是标量,就每个元素减去标量 |
| df.rsub(other) | other-df |
| df.mul(other) | 对应元素相乘,如果是标量,每个元素乘以标量 |
| df.rmul(other) | other*df |
| df.div(other) | 对应元素相除,如果是标量,每个元素除以标量 |
| df.rdiv(other) | other/df |
| df.truediv(other) | 对应元素相除,如果是标量,每个元素除以标量 |
| df.rtruediv(other) | other/df |
| df.floordiv(other) | 对应元素相除取整,如果是标量,每个元素除以标量 |
| df.rfloordiv(other) | other//df |
| df.mod(other) | 对应元素相除取余,如果是标量,每个元素除以标量 |
| df.rmod(other) | other%df |
| df.pow(other) | 对应元素的次方,如果是标量,每个元素的other次方 |
| df.rpow(other) | other**df |

python 复制代码
import pandas as pd

df1 = pd.DataFrame({'c1':[1,2,3,4],'c2':[5,6,7,8],'c3':[10,11,12,13]})
df2 = pd.DataFrame({'c1':[11,12,13,14],'c2':[10,20,30,40],'c3':[100,200,300,400]})
df3 = df1 + df2
print(df3)
'''
   c1  c2   c3
0  12  15  110
1  14  26  211
2  16  37  312
3  18  48  413
'''

df4 = pd.DataFrame({'c1':[11,12,13,14]})
df5 = df1 + df4
print(df5)
'''
   c1  c2  c3
0  12 NaN NaN
1  14 NaN NaN
2  16 NaN NaN
3  18 NaN NaN
'''

df6 = df1 + 1
print(df6)
'''
   c1  c2  c3
0   2   6  11
1   3   7  12
2   4   8  13
3   5   9  14
'''

df7 = df1 -2
print(df7)
'''
   c1  c2  c3
0  -1   3   8
1   0   4   9
2   1   5  10
3   2   6  11
'''

df8 = 2 - df1
print(df8)
'''
   c1  c2  c3
0   1  -3  -8
1   0  -4  -9
2  -1  -5 -10
3  -2  -6 -11
'''

比较运算

比较运算如果是标量,就是每个元素与标量的比较,如果是两个形状一样的DataFrame,生成一个每个元素对应比较的DataFrame。

DataFrame读写文件

|-----------------------------------------------------|----------------------------------|
| 方法名 | 说明 |
| read_table(filepath_or_buffer, *, sep, ...) | 从带分隔符的文件读取 |
| read_csv(filepath_or_buffer, *, sep, ...) | 读csv格式文件 |
| DataFrame.to_csv(path_or_buf, sep, na_rep, ...) | 写csv格式文件 |
| read_fwf(filepath_or_buffer, *, colspecs, ...) | 读固定宽度的格式文件 |
| read_excel(io, sheet_name, header, names, ...) | 读excel文件 |
| DataFrame.to_excel(excel_writer, ...) | 写excel文件 |
| ExcelFile(path_or_buffer, engine, ...) | 用于将表格格式Excel工作表解析为DataFrame对象的类。 |
| ExcelFile.parse(sheet_name, header, names, ...) | 解析一个指定的sheet |
| Styler.to_excel(excel_writer, sheet_name, ...) | 写指定的sheet |
| ExcelWriter(path, engine, date_format, ...) | 用于写入Excel的类 |
| read_json(path_or_buf, *, orient, typ, ...) | 从JSON格式读取数据 |
| DataFrame.to_json(path_or_buf, orient, ...) | 转为为JSON对象字符串 |
| read_html(io, *, match, flavor, header, ...) | 从HTML表格读取数据 |
| DataFrame.to_html(buf, columns, col_space, ...) | 生成HTML表格 |
| Styler.to_html(buf, table_uuid, ...) | 生成HTML表格 |

相关推荐
外域速览27 分钟前
智谱50亿美元押注AI自训练
大数据·人工智能
人工智能培训32 分钟前
孪生不止在工厂:能源、医疗与农业
大数据·人工智能
QYRdata1 小时前
隐私合规技术迎来拐点:数据主体请求自动化年复合增长率14.0%(2026-2032)
大数据·服务发现
Patrick在香港3 小时前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
YsyaaabB3 小时前
Python 数值分析
python
阿洛学长3 小时前
计算机二级 Python 基本操作题(15 分)真题笔记(0101 ~ 1903 全套)
python·pycharm
Elastic 中国社区官方博客4 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
weixin199701080164 小时前
[特殊字符]️《二手ERP对接电商平台的总体方案:统一数据模型 + 事件驱动 + 灰度上线6原则》(附Python源码)
大数据·python
滚雪球~4 小时前
量化交易 防止Windows电脑自动更新并重启
python·量化
大大大大晴天5 小时前
从元数据到数据地图:企业数据治理的第一块地基
大数据