gpt4 book ai didi

python - 从 Pandas 的timedelta列中提取天数

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:06 26 4
gpt4 key购买 nike

我有一个存储老化值的 Dataframe,如下所示:

Aging
-84 days +11:36:15.000000000
-46 days +12:25:48.000000000
-131 days +20:53:45.000000000
-131 days +22:22:50.000000000
-130 days +01:02:03.000000000
-80 days +17:02:55.000000000

我正在尝试提取上述列中 days 之前的文本。我尝试了以下:

df['new'] = df.Aging.split('days')[0]

以上返回

AttributeError: 'Series' object has no attribute 'split'

预期输出:

-84
-46
-131
-131
-130
-80

最佳答案

IMO,一个更好的主意是转换为 timedelta 并提取天组件。

pd.to_timedelta(df.Aging, errors='coerce').dt.days

0 -84
1 -46
2 -131
3 -131
4 -130
5 -80
Name: Aging, dtype: int64

如果你坚持使用字符串方法,可以使用str.extract

pd.to_numeric(
df.Aging.str.extract('(.*?) days', expand=False),
errors='coerce')

0 -84
1 -46
2 -131
3 -131
4 -130
5 -80
Name: Aging, dtype: int32

或者,使用 str.split

pd.to_numeric(df.Aging.str.split(' days').str[0], errors='coerce')

0 -84
1 -46
2 -131
3 -131
4 -130
5 -80
Name: Aging, dtype: int64

关于python - 从 Pandas 的timedelta列中提取天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879724/

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