我有一个系列看起来像这样:

0          1.5
1      39 mins
2          2.5
3            3


我想将39分钟转换为0.39。以下是我的代码:

df['content_duration'].apply(lambda x: x.str.replace('mins', '').astype(int) * 1/100 if x in 'mins' else x)


我没有收到错误,但仍然无法转换。我怎样才能做到这一点?
我的预期输出将是:

0          1.5
1         0.39
2          2.5
3            3

最佳答案

这为我工作:

# dataset for read_clipboard()
'''
content_duration
1.5
39 mins
2.5
3
'''

df = pd.read_clipboard('\t')

df['content_duration'] = df['content_duration'].apply(lambda x: int(x.replace('mins', '').strip()) * 1/100 if 'mins' in x else x)


print(df)


输出:

  content_duration
0             1.5
1             0.39
2             2.5
3                3

关于python - 如何检查字符串中是否包含某些单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61844248/

10-09 20:01