请教 pandas 问题
测试数据如下:
df name type number 0 David A 1234 1 Tom B 2233 2 Jack C 2244 3 Allen B 2355
想在 df 后面插入一列,叫 df=['is_valid']
此栏中的值主要用于判断对应行中各列数据的有效性:比如长度,是否为空值,或值是否为限定允许的值 只要有一列的判断结果为 False ,is_valid 就为 Fals
name
列值: name 值非空 , is_valid = True ;否则为 False ;type
列值: type 值在 ['A', 'B', 'C', 'D'] 中, is_valid = True ,否则为 Falsenumber
number 值长度为 4 , is_valid = True ,否则为 False想法是,一列一列地判断,根据判断结果对 is_valid 栏的值进行修订 ( True or False )
df['is_valid'] = ''
df['is_valid'] = df.name.notnull()
此时查看 df['is_valid'] 值,大致为:
df['is_valid'] 0 True 1 True 2 False (name 中值为空) 3 True
1 、如何让判断第二列的时候,当判断的结果为 False 时才会更新 is_valid 的值
2 、如何判断 第二列 type 值在限定范围内,问号处怎么处理? df['is_valid'] = df.type.?
谢谢!
1 zvDC OP 困扰半天了,向各位大侠求助,先谢谢啦。 |
2 zvDC OP 哦,测试数据中 name 列第三个值,应该为空的,不好意思。 |
![]() | 3 bigtan 2017-01-13 14:03:04 +08:00  |
![]() | 4 bigtan 2017-01-13 14:04:50 +08:00 你那个 name 的判断我没太看明白,大概是这个套路,你琢磨一下 |
![]() | 5 bigtan 2017-01-13 14:05:54 +08:00  |
![]() | 6 bigtan 2017-01-13 14:06:44 +08:00 看下面这个吧,大概是这么个套路,上面少些了一个判断,不明白你可以加我 qq ,我教你 |
![]() | 7 ruoyu0088 2017-01-13 19:38:24 +08:00 |