• Dataframe 根据其他列的条件新增一列


    如代码所示,判断如果城市名中含有ing字段且年份为2016,则新列test值赋为1,否则为0.

    import numpy as np
    import pandas as pd
     
    data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'],
           'year': [2016,2016,2015,2017,2016, 2016],
           'population': [2100, 2300, 1000, 700, 500, 500]}
    frame = pd.DataFrame(data, columns = ['year', 'city', 'population', 'debt'])
     
    def function(a, b):
        if 'ing' in a and b == 2016:
            return 1
        else:
            return 0
    print(frame, '
    ')
    frame['test'] = frame.apply(lambda x: function(x.city, x.year), axis = 1)
    print(frame)

    另外Series类型也有apply函数,用法示例如下:

    import numpy as np
    import pandas as pd
     
    data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'],
           'year': [2016,2016,2015,2017,2016, 2016],
           'population': [2100, 2300, 1000, 700, 500, 500]}
    frame = pd.DataFrame(data, columns = ['year', 'city', 'population', 'debt'])
     
    print(frame, '
    ')
    frame['panduan'] = frame.city.apply(lambda x: 1 if 'ing' in x else 0)
    print(frame)
    

      

  • 相关阅读:
    Linux命令格式与修改文件权限的命令
    Linux 文件基本属性
    Linux 系统目录结构
    Linux 系统启动过程
    Linux在线学习模拟器
    jQuery做的自定义选项卡
    jQuery做的可编辑表格
    海康解码器对接总结(java 版)
    Java线程总结(二)
    Java线程总结(一)
  • 原文地址:https://www.cnblogs.com/yc3110/p/14115622.html
Copyright © 2020-2023  润新知