繁体   English   中英

如何使用正则表达式从 DataFrame 中提取数据?

[英]How do I extract data from a DataFrame using regular expressions?

我正在尝试更正 DataFrame 中的数据并面临值替换问题。 原始值的格式为“31 ^”或“54_”,我需要它的格式为 Integer,例如 31.54

frame = pd.DataFrame({'first': [123, '32^'], 'second': [23,'13_']})
frame['first'] = frame['first'].str.extract(r'([0-9]+)', expand=False)


first   second
0   NaN 23
1   32  13_

Series.str.extractfillna一起使用:

In [679]: frame['first'] = frame['first'].str.extract('(\d+)').fillna(frame['first'])

In [680]: frame['second'] = frame['second'].str.extract('(\d+)').fillna(frame['second'])

In [681]: frame
Out[681]: 
  first second
0   123     23
1    32     13

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM