【问题标题】:How to remove a string part of a column value?如何删除列值的字符串部分?
【发布时间】:2022-11-28 15:17:47
【问题描述】:

我正在使用 Python 处理数据集。 我已将它加载到数据框中,以便我可以对其执行线性回归。 但首先我需要清理数据框,使其只有数字值。 其中一列包含电影的运行时间,措辞如下:

**Runtime**
142 min
175 min
152 min
202 min
96 min
...

等等。 如何删除列的“主要”部分,以便该列仅显示数字部分? 即,

**Runtime**
142
175
152
202
96
...

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    如果在min之前需要数字,请使用Series.str.extract

    df['Runtime'] = df['Runtime'].str.extract('(d+)s*min', expand=False).astype(int)
    

    或者通过 to_timedelta 将值转换为 timedeltas 并通过 Series.dt.total_seconds 将秒从秒转换为分钟并除以 60:

    df['Runtime'] = pd.to_timedelta(df['Runtime']).dt.total_seconds().div(60).astype(int)
    print (df)
       Runtime
    0      142
    1      175
    2      152
    3      202
    4       96
    

    【讨论】:

    • 谢谢!这奏效了。
    猜你喜欢
    • 2021-12-07
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2019-12-20
    • 2010-10-10
    相关资源
    最近更新 更多