使用正则表达式用pandas中的逗号替换数字中的句点(小数点)

时间:2017-12-14 10:12:47

标签: python regex pandas

我正在使用Python和Pandas尝试用逗号替换列中数字中的所有小数点,因此我当前的尝试是:

s = pandas.Series([234.00,423.00,536.56])
s.replace(to_replace="[^0-9]*\.[0-9]*$",value=r"\,",regex=True)

然而它不起作用,我不是很擅长正则表达式,所需的输出将是:

new series
234,00
423,00
536,56    

1 个答案:

答案 0 :(得分:1)

这里有几点需要注意 -

  1. 您正在浮动列上调用替换,执行需要字符串的正则表达式替换
  2. 你的正则表达式不正确,你应该使用lookarounds,你不应该 keyDown () { if (e.keyCode == 13 && e.shiftKey == false) { e.preventDefault(); this.button.click(); } } render() { return ( <form onSubmit={this.handleSubmit}> <textarea rows="3" name="body" onKeyDown={this.keyDown} value={this.state.value} onChange={this.handleChange} /> <button className="btn" type="submit" ref={el => (this.button = el)}> Comment </button> </form> ); } 因为[^0-9]在一个字符类中执行否定(会找到任何 not 一个数字)。
  3. 我首先转换为字符串。您需要保留^有用的尾随小数。然后,请致电str.format

    str.replace

    请记住,以这种格式保存数据在计算上确实没有用处。