[英]iterating over columns in pandas
我想删除数据框中的所有数字。 我做了这样的事情:
for row in df['msg'].iteritems():
df['msg'][row] = re.sub(r"\d"," ",df['msg'][row])
但是有一个错误
<ipython-input-18-79f64a70b2a4> in <module>()
4 import re
5 for row in df['msg'].iteritems():
----> 6 df['msg'][row] = re.sub(r"\d"," ",df['msg'][row])
7 print(df['msg'])
C:\Users\Pratik\Anaconda3\lib\site-packages\pandas\core\series.py in __getitem__(self, key)
599 key = com._apply_if_callable(key, self)
600 try:
--> 601 result = self.index.get_value(self, key)
602
603 if not is_scalar(result):
C:\Users\Pratik\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in
get_value(self, series, key)
2426 try:
2427 return self._engine.get_value(s, k,
-> 2428 tz=getattr(series.dtype,
'tz', None))
pandas.Dataframe.replace
可以理解正则表达式 。 您可以这样尝试:
for col in df.columns:
df[col] = df[col].astype(str).replace(r'\d', '', regex=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.