gpt4 book ai didi

python - 将 Python Pandas 中的列名从日期时间对象更改为字符串?

转载 作者:太空狗 更新时间:2023-10-30 01:01:11 31 4
gpt4 key购买 nike

正在关注 this recipe .我“旋转”了一个如下所示的数据框:

                      Close
2015-02-20 14:00:00 1200.1
2015-02-20 14:10:00 1199.8
2015-02-21 14:00:00 1199.3
2015-02-21 14:10:00 1199.0
2015-02-22 14:00:00 1198.4
2015-02-22 14:10:00 1199.7

然后把它变成这样:

             14:00  14:10
2015-02-20 1200.1 1199.8
2015-02-21 1199.3 1199.0
2015-02-22 1198.4 1199.7

但是,现在我想在列之间进行简单的计算,例如:

df['Chg'] = df['14:10:00'] - df['14:00:00']

我得到一个 KeyError,因为在“旋转”之后列名是 datetime.time 数据。

In [1]: df_pivot.columns.tolist()
Out [2]:
[datetime.time(14, 0),
datetime.time(14, 10)]

如何修改我的透视数据框,以便我可以在列之间进行简单的计算。我想这意味着将列名称的格式从 datetime.time 更改为 str。

最佳答案

您可以像这样将列名转换为字符串:

df.columns =df.columns.map(lambda t: t.strftime('%H:%M'))

或使用重命名:

df.rename(columns =lambda t: t.strftime('%H:%M'), inplace=True)

然后索引它们:

df['14:00']

返回:

2015-02-20    2399.9
2015-02-21 NaN
2015-02-22 NaN
Name: 14:00, dtype: float64

关于python - 将 Python Pandas 中的列名从日期时间对象更改为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665361/

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