| 读取 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 | | | | | | | | | | | | | | | | | | | | | |