【问题标题】:add a dot in 4th index for each string在每个字符串的第 4 个索引中添加一个点
【发布时间】:2020-04-15 01:16:13
【问题描述】:

我想在数据框中的每个字符串中添加一个点,例如49454170变成4945.4170

框架下:

       Missed Trades
0        49454170
1        49532878
2        49511387
3        49451350
4        49402211
5        49403961
6        49331707
7        49320696

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这是一种使用str.findall 并使用str.join 加入结果列表的方法:

    df['Missed Trades'].str.findall(r'(\d{4})').str.join('.')
    
    0    4945.4170
    1    4953.2878
    2    4951.1387
    3    4945.1350
    4    4940.2211
    5    4940.3961
    6    4933.1707
    7    4932.0696
    Name: MissedTrades, dtype: object
    

    【讨论】:

    • 只能使用带有字符串值的.str访问器,在pandas中使用np.object_dtype
    【解决方案2】:

    这样的事情可能会奏效 -

    df['Missed Trades'] = df['Missed Trades'].astype(int) / 10000
    

    【讨论】:

      【解决方案3】:
      df['Missed Trades'] = df['Missed Trades'].map(lambda x : x[0:4]+'.'+x[4:8])
      
             Missed Trades
      0        4945.4170
      1        4953.2878
      2        4951.1387
      3        4945.1350
      4        4940.2211
      5        4940.3961
      6        4933.1707
      7        4932.0696
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多