zoukankan      html  css  js  c++  java
  • 《Python数据分析实战》6 pandas:数据处理

    • 合并

    pd.merge(dat1, dat2, on='id'):根据id合并

    pd.merge(dat1, dat2, left_on='rid', right_on='sid'):根据rid与sid合并

    pd.merge(dat1, dat2, on='id', how='inner'):内连接

    pd.merge(dat1, dat2, on='id', how='left'):左连接

    pd.merge(dat1, dat2, on='id', how='right'):右连接

    pd.merge(dat1, dat2, on='id', how='outer'):外连接

    pd.merge(dat1, dat2, right_index=True, left_index=True):根据索引合并

    • 拼接

    pd.concat([srs1, srs2]):沿列拼接

    pd.concat([srs1, srs2], axis=1):根据行index沿行拼接

    pd.concat([dat1, dat2]):根据列index沿列拼接

    pd.concat([dat1, dat2], axis=1) :根据行index沿行拼接

    • 去重

    pd.drop_duplicates(subset=['cone'], keep='first'):以对应列去重,保留第一个

    pd.drop_duplicates(keep='last'):以所有列去重,保留最后一个

    • 映射

    srs.replace(np.nan,0):替换元素

    dat.replace({0:1}):替换元素

    dat['ctwo'] = dat['cone'].map({1:2,2:3,3:4}):新增映射列

    • 离散化

    srs2 = pd.cut(srs1, [0,0.2,0.5,1]):切割数值

    srs2 = pd.cut(srs1, 5):等距分组切割数值

    srs2 = pd.qcut(srs1, 5):等数分组切割数值

    • 显示数值概括信息

    dat.describe()

    • 排序

    dat.take(np.random.permutation(len(dat1))):随机排序

    dat.take(np.random.randint(0,len(dat),size=3)):随机抽取

    • 分组

    dat.groupby('cone').sum():根据列分组求和

    dat.groupby(dat['cone']).sum():根据列分组求和

    dat['cone'].groupby(dat['ctwo']).sum():根据列分组求和(针对一列)

    for name, group in dat.groupby('cone')::分组迭代

    dat.groupby('cone').sum().add_prefix('total_'):各列分组求和生成DataFrame

    dat.groupby(['cone','ctwo']).apply(lambda x: x.max()):根据两列分组取极大值

  • 相关阅读:
    CAP 与数据一致性
    C++的构造函数为何不能为虚函数
    构造函数和析构函数中可以调用调用虚函数吗
    HTTP状态码
    C++ 单例模式实现
    【转】十大经典排序算法
    C++ short/int/long/long long 等数据类型大小
    块/文件/对象三种存储的优缺点
    罗振宇《时间的朋友》2019-2020
    Google Hacking
  • 原文地址:https://www.cnblogs.com/jhc888007/p/9376750.html
Copyright © 2011-2022 走看看