python - Python Pandas:数据框不使用字符串方法更新
问题描述
我正在尝试更新.csv
我正在使用 Pandas 读取的文件中的字符串。包含列.csv
名“关于”,其中包含我要操作的数据行。
我已经用过 str 了。更新,但它没有反映在导出的.csv
文件中。我的一些代码可以在下面看到。
import pandas as pd
df = pd.read_csv('data.csv')
df.About.str.lower() #About is the column I am trying to update
df.About.str.replace('[^a-zA-Z ]', '')
df.to_csv('newdata.csv')
解决方案
示例数据框:
>>> df
About
0 JOHN23
1 PINKO22
2 MERRY jen
3 Soojan San
4 Remo55
解决方案:,另一种方式使用带有标志的已编译正则表达式
>>> df.About.str.lower().str.replace(regex_pat, '')
0 john
1 pinko
2 merry jen
3 soojan san
4 remo
Name: About, dtype: object
解释:
匹配下面列表中不存在的单个字符
[^a-z]+
+
量词 - 匹配一次和无限次,尽可能多次,根据需要(贪婪)返回 a(索引 97)和 z(索引 122)之间范围内的单个字符(区分大小写)
$
在行尾断言位置
推荐阅读
- javascript - 如果未选中,如何检查单选名称按钮的数组
- typescript - 如何在函数中具有必需和可选类型参数,并且仍然具有用于记录查找的工作类型推断?
- javascript - Node 中的 MongoDB 客户端
- r - 考虑到多于一列,减少重复条目
- wagtail - Wagtailtrans 2.2 安装失败
- sql - PLSQL - 使用变量更新语句
- pytorch - 为什么有些权重是 int8 而有些是 float32(PyTorch 1.7 量化意识训练)
- flutter - 如何创建这种带有弯曲背景的底部导航栏?
- apache - Apache Log grok 模式
- python - 在以下情况下,如何在第二个 for 循环中访问 (i+1 ) 索引?