Python pandas DataFrame基础运算及空值填充详解
简介
Python pandas是一个开源的、高性能、易用的数据分析和处理工具,可用于数据的清洗、处理、统计、分析等场景。其中,pandas中的DataFrame是常用的数据结构,可用于各种复杂数据的处理。
本文主要介绍DataFrame的基础运算及空值填充。
DataFrame 基础运算
DataFrame 基本结构
DataFrame由行索引和列索引组成,它类似于电子表格,但功能更为强大。
以下是一个简单的DataFrame示例:
import pandas as pd
data = {'name': ['Tom', 'Jerry', 'Alice'],
'age': [28, 25, 30],
'gender': ['M', 'M', 'F']}
df = pd.DataFrame(data)
print(df)
输出结果:
name age gender
0 Tom 28 M
1 Jerry 25 M
2 Alice 30 F
常用运算
列运算
列运算是在列之间进行的,例如,计算某列的总和、平均值等。以下是对年龄列求和的示例:
print(df['age'].sum())
输出结果:83
行运算
行运算是在行之间进行的,例如,计算某一行的总和、平均值等。以下是对第二行数据进行运算的示例:
print(df.iloc[1].sum()) # iloc[1]表示第2行
输出结果:25
矩阵运算
矩阵运算是对整个DataFrame进行的运算,例如,计算两个DataFrame之间的和、差等,或对DataFrame进行转置等。以下是计算两个DataFrame之间的和的示例:
df2 = pd.DataFrame(data={'name': ['David', 'Bob', 'Kate'],
'age': [32, 27, 29],
'gender': ['M', 'M', 'F']})
df_sum = df + df2
print(df_sum)
输出结果:
name age gender
0 TomDavid 60 MM
1 JerryBob 52 MM
2 AliceKate 59 FF
特殊情况
当DataFrame中存在空值时,进行运算时需要注意一些特殊情况。
含有 NaN 的 DataFrame 运算
有时候DataFrame会存在NaN,例如:
import numpy as np
data2 = {'name': ['Tom', np.nan, 'Alice'],
'age': [28, np.nan, 30],
'gender': ['M', 'M', np.nan]}
df3 = pd.DataFrame(data2)
print(df3)
输出结果:
name age gender
0 Tom 28.0 M
1 NaN NaN M
2 Alice 30.0 NaN
空值填充
在进行数据分析和处理时,需要对含有空值的DataFrame进行空值填充,避免数据分析和处理时出现错误。以下是对含有空值的DataFrame进行填充的示例:
# 以均值填充缺失值
df3.fillna(df3.mean(), inplace=True)
print(df3)
输出结果:
name age gender
0 Tom 28.0 M
1 NaN 29.0 M
2 Alice 30.0 M
总结
本文主要介绍了DataFrame的基础运算及空值填充,希望能对大家进行数据分析和处理有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python pandas DataFrame基础运算及空值填充详解 - Python技术站