gpt4 book ai didi

python - Replace() 没有找到日期,也没有转换为另一个字符串

转载 作者:行者123 更新时间:2023-11-28 20:02:17 26 4
gpt4 key购买 nike

我在 csv 中有一个数组:

    date        group
0 2015-01-02 WODKA
1 2015-01-02 PIWO
2 2015-01-02 2015-01-02
3 2015-01-03 WODKA
4 2015-01-03 PIWO
5 2015-01-03 2015-01-03
6 2015-01-03 WODKA
7 2015-01-03 PIWO

我想将“group”列中的所有日期转换为“sum”一词。但是我的代码不起作用...

import pandas as pd
import numpy as np
from datetime import datetime as dt

x = pd.read_csv("C:\\Users\dell\\Desktop\\list_1.csv", sep=';')
x.group = x.group.replace(dt, 'sum')

最佳答案

我们可以更新那些可以将 group 转换为 datetime 的行:

In [40]: df.loc[pd.to_datetime(df['group'], errors='coerce').notnull(), 'group'] = 'sum'

In [41]: df
Out[41]:
date group
0 2015-01-02 WODKA
1 2015-01-02 PIWO
2 2015-01-02 sum
3 2015-01-03 WODKA
4 2015-01-03 PIWO
5 2015-01-03 sum
6 2015-01-03 WODKA
7 2015-01-03 PIWO

或使用 RegEx(注意:第一个解决方案更加灵活,因为它支持不同的日期格式):

In [46]: df['sum'] = df['group'].str.replace(r'^\d{4}-\d{2}-\d{2}', 'sum')

In [47]: df
Out[47]:
date group sum
0 2015-01-02 WODKA WODKA
1 2015-01-02 PIWO PIWO
2 2015-01-02 2015-01-02 sum
3 2015-01-03 WODKA WODKA
4 2015-01-03 PIWO PIWO
5 2015-01-03 2015-01-03 sum
6 2015-01-03 WODKA WODKA
7 2015-01-03 PIWO PIWO

关于python - Replace() 没有找到日期,也没有转换为另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46941871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com