如何在不删除任何内容的情况下按索引添加字符串

2024-09-17 18:18:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在如下所示的字符串中添加dig/

012019

所以它看起来是这样的:

01/2019

也可以加上一天

01/01/2019

数据:

import pandas as pd

df= pd.DataFrame({ "month": ["012019","152019","222019","142019","302019","012020"]})

我的代码:

df.month = df.month.apply(lambda x: '{:0>2}'.format(x.split('/')[0]))

但它不起作用


2条回答

如果我理解正确,您只需要在第2和第3个字符之间添加斜杠。那么很容易:

df['new'] = df.month.str.slice(0, 2) + '/' + df.month.str.slice(2)

IIUC只需转换为datetime并使用dt.strftime

df['month'] = pd.to_datetime(df['month'],format='%d%Y').dt.strftime('%d/%Y')

output:
print(df)
     month
0  01/2019
1  15/2019
2  22/2019
3  14/2019
4  30/2019
5  01/2020

如果您还想添加一个月,只需将其添加到字符串中即可

month = '01' 

df['month'] = pd.to_datetime(df['month'].astype(str) + 
month,format='%d%Y%m').dt.strftime('%m/%d/%Y')

print(df)
        month
0  01/01/2019
1  01/15/2019
2  01/22/2019
3  01/14/2019
4  01/30/2019
5  01/01/2020

相关问题 更多 >