头歌pandas数值运算与缺失值处理第一关
时间: 2025-02-04 16:08:12 浏览: 204
### 使用 Pandas 进行数值运算
为了完成头歌平台关于 Pandas 的第一关任务,了解如何使用 Pandas 执行算术运算是基础。Pandas 支持多种算术操作,这些操作可以应用于 DataFrame 和 Series。
#### 算术运算与数据对齐
Pandas 提供了灵活的数据对齐功能,在执行加减乘除等基本算术运算时自动对齐索引。如果两个对象之间存在不匹配的标签,则结果中的那些位置会被标记为缺失值 (NaN)[^2]。
```python
import pandas as pd
import numpy as np
df1 = pd.DataFrame({
'A': [1, 2],
'B': [3, 4]},
index=['a', 'b'])
df2 = pd.DataFrame({
'A': [5, 6],
'B': [7, 8]},
index=['c', 'd'])
result_addition = df1.add(df2, fill_value=0)
print(result_addition)
```
此代码片段展示了如何利用 `add` 方法加上另一个 DataFrame 并指定填充缺失值的方法。
### 处理缺失值
在实际应用中,数据集经常包含缺失值。Pandas 自带了几种处理缺失值的有效工具:
#### 判断是否存在缺失值
可以通过调用 `isnull()` 或者其反向版本 `notnull()` 来检测哪些地方有缺失值。
```python
data_with_nan = pd.Series([np.nan, 2., 3.])
missing_values_check = data_with_nan.isnull()
print(missing_values_check)
```
这段代码创建了一个带有 NaN 值的序列,并检查其中是否有任何元素为空。
#### 删除含有缺失值的行或列
要移除整个表格里所有含空缺项的地方,可选用 `dropna()` 函数来实现这一点。这个命令允许用户选择是要丢弃具有任意数量 NA/NaNs 的轴还是仅当全部都是 NA/NaNs 时才这么做[^3]。
```python
# 创建一个包含缺失值的数据框
df_missing = pd.DataFrame([[np.nan, 2], [3, 4]], columns=list('AB'))
# 移除任何包含缺失值的行
cleaned_df_rows = df_missing.dropna(axis='index')
# 只移除非完全由缺失构成的列
cleaned_df_columns = df_missing.dropna(axis='columns', how='all')
```
#### 替换缺失值
另一种常见的做法就是替换掉所有的 null/Nan 成某个特定值或是基于某种策略计算出来的替代品;这可通过 `fillna()` 实现。
```python
filled_data = cleaned_df_rows.fillna(value={'A': 0})
print(filled_data)
```
上述例子说明了怎样给定字典作为参数传递进去从而针对不同列设置不同的填补方案。
阅读全文
相关推荐


















