我有以下输入数据框。所有类型都是字符串。我想将它们转换为浮动。字符多种多样,但理想情况下,我只想保留小数点和数字。删除所有其他内容的最佳方法是什么? 我尝试过:
corp = corp.replace(r'\$', '', regex=True).apply(pd.to_numeric)
是否可以替换all expect numeric AND comma
?
JPY JPY JPY JPY JPY JPY JPY JPY JPY JPY ... JPY JPY JPY JPY JPY JPY JPY JPY JPY JPY
Update time ...
2018/8/13 10:15 $34,424,234.98 this is a str ¥375,567,698 ¥304,734 ¥3,848,230,263 ¥101,677,219 0 ¥14,377,274 ¥47,719,464 ¥1,833 ... 0 0 0 0 0 0 0 0 0 0
2018/8/14 10:30 $34,424,234.98 ¥4,079,039,244 ¥375,567,698 ¥304,734 ¥3,131,351,753 ¥101,677,219 0 ¥14,377,274 ¥47,719,464 ¥1,833 ... 0 0 0 0 0 0 0 0 0 0
2018/8/15 10:30 $34,424,234.98 ¥4,644,436,742 ¥375,567,698 ¥304,734 ¥3,018,288,133 ¥101,677,219 0 ¥14,376,734 ¥48,551,464 ¥1,833 ... 0 0 0 0 0 0 0 0 0 0
编辑:
这是一个解决方案...
corp = corp.replace(r'[a-zA-Z]|¥|,', '', regex=True)
答案 0 :(得分:0)
您可以使用
corp = corp.replace(r'[^\d.]+', '', regex=True).apply(pd.to_numeric)
这样,您将除去数字和点以外的所有字符。参见regex demo。
详细信息
[^
-否定的字符类开始
\d
-数字.
-点]+
-否定的字符类结尾,一次或多次出现