国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

pandas DataFrame 根據多列的值做判斷,生成新的列值實例

2020-01-04 15:02:38
字體:
來源:轉載
供稿:網友

環境:Python3.6.4 + pandas 0.22

主要是DataFrame.apply函數的應用,如果設置axis參數為1則每次函數每次會取出DataFrame的一行來做處理,如果axis為1則每次取一列。

如代碼所示,判斷如果城市名中含有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, '/n') frame['test'] = frame.apply(lambda x: function(x.city, x.year), axis = 1) print(frame) 

運行結果如下:

pandas,DataFrame,列值

另外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, '/n') frame['panduan'] = frame.city.apply(lambda x: 1 if 'ing' in x else 0) print(frame) 

運行結果如下:

pandas,DataFrame,列值

以上這篇pandas DataFrame 根據多列的值做判斷,生成新的列值實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克拉玛依市| 新疆| 专栏| 夏津县| 尉氏县| 南投市| 石柱| 华阴市| 延安市| 小金县| 永丰县| 甘德县| 福州市| 乐昌市| 江达县| 阿图什市| 宿松县| 金溪县| 阿拉善盟| 云和县| 北安市| 怀仁县| 青铜峡市| 斗六市| 永仁县| 平乐县| 册亨县| 新宁县| 瑞金市| 元江| 惠州市| 清苑县| 沙洋县| 台中县| 凉山| 盐源县| 天峨县| 铁岭市| 固阳县| 卫辉市| 山阴县|