Pandas实现excel的IF函数功能
1、创建数据框
dic = {'地市': ['廊坊','廊坊','廊坊','张家口','张家口','张家口'],'组号':[1,2,1,2,1,2],'数量':[11,12,13,14,15,16]}
p_city = pd.DataFrame(dic)
print(p_city)
输出:
p_city['编号'] = np.where(p_city['组号'] ==1,'男','女')#
print(p_city)
输出:
2.新建列
列名与原列明 不相同 是新建
p_city['性别'] = np.where(p_city['组号'] ==1,'男','女')#
print(p_city)
输出:
3.指定位置新建列
思路:先新建,再同列明
insert(loc, column, value, allow_duplicates=False)
在哪里:
loc: 插入列的索引。第一列是 0。
column: 赋予新列的名称。
value: 新列的值数组。
allow_duplicates: 是否允许新列名匹配现有列名。默认值为假。
dic = {'地市': ['廊坊','廊坊','廊坊','张家口','张家口','张家口'],'组号':[1,2,1,2,1,2],'数量':[11,12,13,14,15,16]}
p_city = pd.DataFrame(dic)
p_city.insert(1,'性别2',"")#位置,列明,数据
p_city['性别2'] = np.where(p_city['组号'] ==1,'男','女')#
print(p_city)
输出:
4.进阶(if嵌套)
dic = {'地市': ['廊坊','廊坊','廊坊','张家口','张家口','张家口'],'组号':[1,2,1,2,1,2],'数量':[11,12,13,14,15,16]}
p_city = pd.DataFrame(dic)
p_city['是否去办公室'] = np.where(p_city['组号'] ==1, np.where(p_city['数量'] >13,'是','否'),'否')
print(p_city)
输出: