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()
  • 相关阅读:
    [COGS2580]偏序 II
    [COGS2479]偏序
    [BZOJ2716]天使玩偶
    [BZOJ4237]稻草人/[JOISC2014]かかし
    Ynoi2015 世上最幸福的女孩
    ARC098D Donation
    BZOJ3691 游行
    CF923E Perpetual Subtraction
    Luogu P4191 [CTSC2010]性能优化
    Topcoder SRM 590 Fox And City
  • 原文地址:https://www.cnblogs.com/leixingzhi7/p/9377481.html
Copyright © 2011-2022 走看看