【问题标题】: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