zoukankan      html  css  js  c++  java
  • pandas常用小trick(持续更新)

    记录一下pandas常用的小技巧,时间长了干别的去了会忘记,记录一下:

    1. 在处理数据过程中涉及到label和null的处理方法

    # 方法一
    df['height'][df.height < 180] = 0
    df['height'][df.height >= 180] = 1
    
    # 方法二
    df['height'].ix[df['height'] < 180] = 0
    df['height'].ix[df['height'] >= 180] = 1
    
    # 方法三
    df.loc[df['height'] < 180, 'height'] = 0
    df.loc[df['height'] >= 180, 'height'] = 1
    
    # 方法四,前三种方法顺序是不能够颠倒的
    df['height'] = df['height'].apply(lambda x: 1 if x >= 180 else 0)
    
    # 对null值的替换处理
    df.loc[df['age'].isnull(), 'age'] = df['age'].median()

    2. pandas中对两列的处理,比如字符串拼接

    # 下面的操作在挖掘机器学习二阶特征的时候会经常用到
    def
    str_add(x, y): # print x, y return str(x) + '_' + str(y) df = pd.read_csv('./tmp.txt') df['age_height'] = df.apply(lambda row: str_add(row['age'], row['height']), axis=1)

     3. 特征对比图

    import matplotlib.pyplot as plt
    import seaborn as sns
    
    df1 = pd.read_csv("./anti-fraud-final_train.csv")
    df2 = pd.read_csv("./anti-fraud-final_test.csv")
    
    var = ['f1','f2','f3']
    
    plt.figure(figsize=(30, 10))
    for i in range(0, 20, 1):
        plt.subplot(4, 5, i + 1)
        sns.kdeplot(df1[var[i]], label=var[i])
        sns.kdeplot(df2[var[i]], label=var[i])
    plt.show()
  • 相关阅读:
    迭代器模式-Iterator
    kubernetes之一 k8s基本概念
    多线程中的异常处理
    MySQL高可用集群方案
    RabbitMQ的集群模式
    多线程中如何取消任务
    公钥、私钥、摘要、数字签名、证书
    将Ubuntu系统迁移到SSD固态操作
    Java线程的状态和状态转换
    Ubuntu18.04系统和软件安装记录
  • 原文地址:https://www.cnblogs.com/leixingzhi7/p/9377481.html
Copyright © 2011-2022 走看看