码迷,mamicode.com
首页 > 其他好文 > 详细

采坑 - 字符串的 "" 与 pd.isnull()

时间:2020-03-06 01:02:50      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:问题   索引   ram   获取   The   地产   字符串   print   api   

主要是记录一个采坑的过程. 当字符串 的 " " 和 pandas 中的 " " 不是一个概念 .

需求

一个小伙伴要用 pandas 来处理一个, 表格填充的的问题, 脱敏数据大致是这样的.

区域名称 门店 店组
龙华新城大区 壹城中心店 壹城中心一组
益田大区 皇岗口岸店 皇岗口岸一组
双龙大区 龙城中央旗舰店 AAA店
深西大区 德佑麒麟A组
A宏畅房地产经纪有限责任公司 A地产经纪有限责任公司门店
宏畅房地产经纪有限责任公司 B地产经纪有限责任公司门店
东部 微地产瑞凯洪湖A店
景恒房地产有限公司 D景恒房地产有限公司门店
龙华新城大区 丰润花园店 丰润花园一组

现在想取一个 门店 字段, 新增或者覆盖 都可以, 取的逻辑是: "获取 门店 字段的值, 如果是值, 则选择 店组 字段的值.

咋一看, (不考虑性能, 只管实现哈), 这不简单嘛,都不想考虑用什么 apply, 遍历 DataFrame 的每一行, 然后判断就好了.

踩过过程

通常我是先测试下, 与其说是测试, 其实就是百度下api, 根本就记不住的, 要是没有搜索引擎, 写代码立刻就废掉了.

先来波测试

import pandas as pd 
df = pd.DataFrame({
    
    "a":[1,2,3,4,5,6],
    "门店": ["甲店", "", "", "丙店", "", "丁店"],
    "店组": ["DD", "", "AA", "", "丁店", ""]
})

print(df)
a   门店      店组
0   1   甲店  DD
1   2       
2   3        AA
3   4   丙店  
4   5        丁店
5   6   丁店  

为了演示方便, 这里选择新增 "新门店"字段, 不覆盖原来的哦 (如果 "门店", 没有值, 就取 "店组" 的值)

for 行号, 行值 in df.iterrows():   
    
    df.loc[行号, "新门店"] =  行值['门店'] or 行值["店组"]
    
print(df)
    a   门店  店组  新门店
0   1   甲店  DD    甲店
1   2           
2   3         AA    AA
3   4   丙店        丙店
4   5         丁店  丁店
5   6   丁店        丁店

测试完美通过, 然后就开始整了.

翻车1次

采坑 - 字符串的 "" 与 pd.isnull()

标签:问题   索引   ram   获取   The   地产   字符串   print   api   

原文地址:https://www.cnblogs.com/chenjieyouge/p/12424000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!