常用函数
新增列数据
# 1.直接法
# 已知DataFrame对象df,有最高温度,最低温度两个字段,需要添加温度差字段
df["温度差"] = df["最高温度"]-df["最低温度"] #或者
df.loc[:,"温度差"]=df["最高温度"]-df["最低温第"]
# 2.apply函数
# 添加一个气温状况的字段
# 先定义返回值函数
def func(s):
pass #根据自定义条件返回内容
df["气温状况"] = df.apply(func,axis=1) # 或
df.loc[:,"气温状况"] = df.apply(func,axis=1)
# 3.assign函数
# 一次性添加多列
df = df.assign(
新增字段1 = lambda x:...,
新增字段2 = lambda x:...,
...
)
统计函数
# 1.统计汇总 输出每一列 括计数(count)、均值(mean)、标准差(std)、最小值(min)、25% 分位数(25%)、中位数(50%)、75% 分位数(75%)和最大值(max)
print(df.describe)
# 单个函数
df["字段名"].max() # 列最大
df["字段名"].mean() # 平均
df["字段名"].min() # 列最小值
# 找出一列存在哪些值
df["字段名"].unique()
# 按照值统计
df["字段名"].value_counts()
# 协方差
df[["字段1","字段2"...]],cov()
# 相关系数
df[["字段1","字段2"...]].corr()
缺失内容处理
在同级目录存在这样一张excel表:我们需要将空行列去掉,并将名字的三格补充完整和缺失成绩补充为0
最后效果是这样的:
import pandas as pd
# 首先读取文件 ,要跳过前两行空行
data = pd.read_excel("student.xlsx",skiprows=2)
# 由于前面两列是空的使用函数去除
data.dropna(axis="columns",how="all",inplace=True) # 全部是空的列
# 删除空行 学生之间有空行
data.dropna(axis="index", how="all", inplace=True) # 全部是空的行
# 由于名字是合并成一个格子,实际上只有第一个格子才有内容 以上面的内容补充
data.loc[:,"姓名"].fillna(method="ffill",inplace=True) #ffill 按上个内容补充
# 将分数为空的数据填写为0
data.loc[:,"分数"].fillna(0,inplace=True)
# 写回文件内
data.to_excel("新文件地址",index=bool) #index = True 会插入下标