python之dataframe数据预处理第七天

dataframe 数据预处理

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

%config InlineBackend.figure_format = 'svg'

lagou_df = pd.read_csv(
    '*'
)
# 提取字段中包含'*'内容的
lagou_df[lagou_df.字段.str.contains('*')] 
# 直接删除不包含'*'内容的
index_nums = lagou_df[~lagou_df.字段.str.contains('*')].index
lagou_df.drop(index=index_nums, inplace=True)

# 上函数对指定字段操作
lagou_df['字段'] = lagou_df.字段.apply(函数实现数据操作)
lagou_df


# 实例
temp_df = pd.DataFrame(data=np.random.randint(30, 101, (5, 3)))
temp_df.apply(np.mean)
# 此处lambda函数的参数x是一个数据系列
temp_df.apply(lambda x: (x ** 0.5 * 10).astype(int))
# 此处lambda函数的参数x是一个数据系列
# transform的参数是不带归约性质的函数
temp_df.transform(lambda x: (x ** 0.5 * 10).astype(int))
# 此处lambda函数的参数x是一个值
temp_df.applymap(lambda x: int(x ** 0.5 * 10))
# 分组聚合
groupby('*').字段.agg(['sum', 'max', 'min'])

# 分段
new = pd.cut(luohu_df.字段,np.arange(30,61,5))
luohu_df.groupby(new).字段.count()
  1. 加载数据

    • read_csv
    • read_excel
    • read_sql
  2. 数据抽取

    • 布尔索引
    • query
    • drop
  3. 数据清洗

    • 缺失值:isnullisnadropnafillna
    • 重复值:duplicateddrop_duplicatesnunique
    • 异常值:replacedrop
    • 预处理:applytransformapplymap
      • str
      • dt
      • to_datetime
  4. 数据透视

    • 分组:groupby
    • 透视表:pivot_table
    • 排序:sort_values
    • 取头部:nlargestnsmallest
  5. 可视化

    • 绘图:plot
      • kind
      • figsize
  6. 业务洞察

你可能感兴趣的:(python学习之路,数据挖掘,数据分析,python)