gpt4 book ai didi

python - 在 Pandas 列中将数字与日期分开

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:47 27 4
gpt4 key购买 nike

我在 pandas 中有一列包含 100 行,如下所示:

timeseries

2000-05-01 10:00:00+00:00 0.9

它只是索引,我想将日期时间与数字分开,并且有两列,如:

time                                        number

2000-05-01 10:00:00+00:00 0.9

我试过了:

df['start'] = mydata.str.split(' ').str.get(0)
df['end'] = mydata.str.split(' ').str.get(1)

但答案是这样的:

                         timeseries     start  end
2017-05-01 10:00:00+00:00 0.9 0.9 NaN

如何将索引分隔为日期和数字列?

最佳答案

在您发布的示例中,时间和数字部分之间有三个空格。在这种情况下,

df[['timeseries', 'number']] = df.timeseries.str.extract('(.*)\s{3}(.*)')

如果知道时间和数字之间有两个或多个空格,

df[['timeseries', 'number']] = df.timeseries.str.extract('(.*)\s\s+(.*)')

对于更一般的情况,

df['number'] = df.timeseries.str.split('\s+').str[-1]
df['timeseries'] = df.timeseries.str.split('\s+').str[:-1].apply(' '.join)

在所有情况下,

    timeseries                  number
0 2000-05-01 10:00:00+00:00 0.9

关于python - 在 Pandas 列中将数字与日期分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924746/

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