| 读取 excel/csv | # 读取 excel csv
    data =
  pd.readcsv(‘/Users/ning/dataset/ops_brain.csv’, low_memory=False) |
| —- | —- |
| 某列设为日期格式 | # 设置一列为日期格式
    data.report_date
  = pd.to_datetime(data.report_date) |
| 筛选字段 | # 筛选列
    a =
  data[[‘report_date’, ‘citycode’]] |
|   | # 单条件筛选
    b =
  data[data.report_date==’2019-04-01’] |
|   | # 多条件筛选
    b =
  data[(data.report_date==’2019-04-01’) & (data.citycode == ‘MBK_86’)] |
|   | # 新增字段 及 单一内容填充
    a = data[[‘report_date’, ‘citycode’]]
    a[“sex”] = “male”
# 新增字段 及 逐行内容填充
    a[“sex”] = [“male”, “male”, “female”, “male”] |
|   | # 计算/逻辑判断等方式添加字段
    import numpy as np
    a[“a1”] = a.rides + 1
    a[“a2”] = a.rides * 100
    a[“a3”] = np.where(a[“sex”] == “male”, 1, 0)
    a |
|   | # 删除字段:pop 方法
    a.pop(“sex”)
    a |
| 查看信息 | data.info() #查看基本信息
    data.head(10) # 查看前10行
    data.shape
  # 查看几行几列
    data.T
  # 转置
    data.values
  # 返回一个 array |
| 描述与统计 | data.age.max() #
  最大值
    min # 最小值
    mean # 平均值
    quantile # 中位数
    sum #求和
data.describe() #
  会显示出数字类型的列的统计指标:总数、平均数、标准差、最小值、最大值、25%/50%/75% 分位数
    data.describe(include=[“object”] )
  #
  会显示出非数字类型的列的统计指标:总数,去重后的个数、最常见的值、最常见的值的频数
 
a.rides.value_counts() # 各个值出现次数 |
| 排序 | data.sort_values(by=”字段”)  # 正序
    data.sort_values(ascending=False, by=’字段’) # 倒序
    data.sort_values(by=[“age”, “city”]) # 多字段排序
a.rides.nlargest(5) #
  最大的n个值
    a.rides.nsmallest(5) # 最小的n个值 |
| 转换数据类型 | https://www.yuque.com/7125messi/wydusr/okebzq
data =
  pd.DataFrame(data)
data.columns = [‘A’,’B’] # 转换为 dataframe并起名
data.rename(columns={‘a’:’A’}) # 只给某个字段重命名 |
| 缺失值 | 过滤缺失值
    a[a.rides.notnull()] # 过滤某字段为 null 的值
    data.dropna(axis=0, how=”any”) #
  一行数据只要有一个字段存在空值即删除
    data.dropna(axis=0, how=”all”) #
  一行数据所有字段都为空值才删除
    data.dropna(axis=0, how=”any”, subset=[“city”, “sex”]) #
  一行数据中只要 city 或 sex 存在空值即删除
填充缺失值
    data.age.fillna(0) # age 缺失都填 0
    data.age.fillna(method=”ffill”) #
  age 缺失用前一列填充
    data.age.fillna(method=”backfill”) #
  age 缺失用后一列填充
    data.age.interpolate() # 使用线性差值来填充 |
| 替换 | data.age.replace(40, np.nan) #
  把 40 替换成空值
    user_info.city.replace(r’\s+’, np.nan, regex=True) # 正则表达式,空白字符串替换成空值 |
| 文本数据处理 | # 将出生日期转为时间戳
    user_info[“birth”] = pd.to_datetime(user_info.birth)
    # 将文本转为小写
    user_info.city.str.lower()
    # 统计每个字符串的长度
    user_info.city.str.len()
    # 将空字符串替换成下划线
    user_info.city.str.replace(“
  “, ““)
    #
  将所有开头为 S 的城市替换为空字符串
    userinfo.city.str.replace(“^S.*”, “ “)
    # 根据空字符串来分割某一列
    user_info.city.str.split(“ “, expand=True)
    # 提取子串_
    https://www.yuque.com/7125messi/wydusr/gcfef9 |
|   |   |
|   |   |
|   |   |
|   |   |
|   |   |
|   |   |
|   |   |
