【问题标题】:iterating over columns in pandas遍历 pandas 中的列
【发布时间】:2018-10-15 02:09:37
【问题描述】:

我想删除数据框中的所有数字。我做了这样的事情:

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))

【问题讨论】:

    标签: python regex nlp


    【解决方案1】:

    pandas.Dataframe.replace 可以理解正则表达式。你可以这样试试:

    for col in df.columns:
        df[col] = df[col].astype(str).replace(r'\d', '', regex=True)
    

    【讨论】:

      猜你喜欢
      • 2019-03-28
      • 1970-01-01
      • 2016-12-08
      • 2018-10-20
      • 2021-01-29
      • 2019-05-28
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多