pandas基本函数
时间: 2025-03-20 16:00:17 浏览: 36
### Pandas基本函数及其用法
Pandas 是一种强大的数据分析工具库,广泛应用于数据处理和分析领域。以下是几个常用的基本函数以及它们的具体用法。
#### 1. `pandas-log` 的功能介绍
为了更好地理解 Pandas 中的操作行为,可以借助第三方扩展包 **pandas-log** 来提供操作反馈日志[^1]。该工具通过封装常见的 Pandas 函数,在执行过程中记录额外的日志信息,帮助开发者更清晰地追踪每一步的数据变化过程。
安装方式如下:
```bash
pip install git+https://gitcode.com/gh_mirrors/pa/pandas-log.git
```
使用示例:
```python
import pandas as pd
from pandas_log import log_dataframe_operations
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
log_df = log_dataframe_operations(df)
# 执行任意 Pandas 操作时会自动打印日志
filtered_df = log_df[log_df['A'] > 1]
print(filtered_df)
```
---
#### 2. 遍历 DataFrame 行的方法——`iterrows()` 和其他替代方案
Pandas 提供了多种方法用于遍历 DataFrame 数据中的行,其中最常见的是 `iterrows()` 方法[^2]。它能够逐行返回索引和对应的 Series 对象。然而需要注意的是,由于其性能较低,通常不推荐在大规模数据集上频繁调用此方法。
代码示例:
```python
import pandas as pd
data = {'Column_A': ['X', 'Y'], 'Column_B': [10, 20]}
df = pd.DataFrame(data)
for idx, row in df.iterrows():
print(f"Index: {idx}, Row Data: {row}")
```
除了 `iterrows()` 外,还有更高效率的选择比如 `itertuples()` 或者基于向量化运算的 `apply()` 方法。这些方法更适合于需要高性能计算场景下的应用需求。
---
#### 3. 统计描述性信息——`describe()` 函数
对于初步探索数据分布情况而言,`describe()` 是非常实用的一个内置统计汇总命令[^3]。它可以快速生成数值型字段的关键指标(如均值、标准差等),同时也支持自定义参数调整输出范围。
实例演示:
```python
sample_data = {
'Scores': [85, 90, None],
'Hours_Studied': [5, 7, 6]
}
frame = pd.DataFrame(sample_data)
summary_stats = frame.describe()
print(summary_stats)
```
注意:如果目标是非数值类型的列,则需显式指定包含选项才能获取相应频率统计等内容。
---
#### 4. 修改列名大小写形式
有时我们可能希望统一表头命名风格以便后续加工处理更加方便一致化管理。下面展示如何利用列表推导表达式实现将现有所有列的名字转换成首字母大写的样式:
样例脚本:
```python
raw_columns = ["first_name", "last_name"]
cleaned_cols = [col.capitalize() for col in raw_columns]
example_dataset = pd.DataFrame({
"first_name": ["John"],
"last_name": ["Doe"]
})
example_dataset.columns = cleaned_cols
print(example_dataset.head())
```
上述逻辑同样适用于批量重命名复杂模式匹配条件下多级索引结构等情况。
---
#### 5. 布尔索引筛选特定条件子集
布尔掩码技术允许用户依据某些预设规则轻松提取满足要求的部分记录集合出来单独查看或者进一步深入挖掘潜在规律特性。具体做法就是先创建一个与原始表格形状相同的 True/False 数组作为过滤器作用到原对象之上即可完成整个流程自动化构建工作流简化步骤提升工作效率减少人为错误发生几率增加程序可读性和维护便利程度等方面都有显著优势体现价值所在之处值得推广普及开来让更多人受益匪浅!
简单例子说明如下所示:
```python
criteria_mask = (frame['Scores'] >= 88) & (~pd.isnull(frame['Hours_Studied']))
qualified_records = frame.loc[criteria_mask]
print(qualified_records)
```
这里特别强调一点即当涉及到多个并联关系组合查询语句编写时候记得合理运用括号分隔开各个部分优先顺序从而避免语法解析歧义现象产生影响最终结果准确性造成不必要的麻烦困扰等问题出现。
---
阅读全文
相关推荐


















