python - 用不同数量的字符替换行
问题描述
我有一列包含不同数量的字符的字符串。大多数行具有以下字符数:
xx.xx.xxxx xx-xx-xx
但也有行数不同,例如
xxx.xxx.xxxx
xxxx
xxxxxxxxxxxxxxx
我想xx.xx.xxxx xx-xx-xx
用空值(例如NA)替换那些具有许多不同字符的列。我的方法是计算长度,xx.xx.xxxx xx-xx-xx
然后过滤具有不同字符数的行:df[df['Char']!=len('xx.xx.xxxx xx-xx-xx')]
. 但我还需要替换这些行的值。你能告诉我怎么做吗?
我的专栏看起来像
Char
xx.xx.xxxx xx-xx-xx
xxx.xxx.xxxx
xxxx
xxxxxxxxxxxxxxx
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
我的预期输出是
Char
xx.xx.xxxx xx-xx-xx
Na
NA
NA
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
xx.xx.xxxx xx-xx-xx
解决方案
尝试loc
df.loc[df['Char'].str.len()!=len('xx.xx.xxxx xx-xx-xx'),'Char']=np.nan
推荐阅读
- javafx - 无法拖放 JFXTimePicker 控件
- python - 如何在 Python 中使用 selenium 登录网站?
- c++ - vscode中的g ++错误:没有这样的文件或目录
- python - 如何运行 stop logcat 一段时间或检测某些关键字
- reactjs - KeyboardDatePicker MaterialUI - 自定义遮罩格式
- linphone - Flexisip 到 PBX 重新注册
- sql - string_split 的另一种方法
- c# - 特定项目的 Mapster.Tool 代码生成
- php - PHP PDO查询试图从值创建子数组
- c# - Task 尚未开始执行时没有创建工作线程?