gpt4 book ai didi

python - 如何根据列名属性对 Pandas 数据框进行切片?

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:51 25 4
gpt4 key购买 nike

我有一个数据框,其中列名是这样的数据时间对象:

            17:02:00    17:03:00 ...    
2017-09-18 1236.0 463.0
2017-09-19 791.0 476.0
2017-09-20 2086.0 988.0

如何根据伪代码中的列名值选择数据框的一部分:

df_slice = df.column_name >= datetime.time(8, 30) & df.column_name < datetime.time(9, 0)

最佳答案

我认为您需要先通过 to_datetime 将值转换为 times + time然后按条件选择列:

df.columns = pd.to_datetime(df.columns).time

df_slice = df.loc[:, (df.columns >= datetime.time(8, 30)) &
(df.columns < datetime.time(9, 0))]

示例:

print (df)
17:02:00 08:45:00
2017-09-18 1236.0 463.0
2017-09-19 791.0 476.0
2017-09-20 2086.0 988.0

df.columns = pd.to_datetime(df.columns).time

df_slice = df.loc[:, (df.columns >= datetime.time(8, 30)) &
(df.columns < datetime.time(9, 0))]

print (df_slice)
08:45:00
2017-09-18 463.0
2017-09-19 476.0
2017-09-20 988.0

感谢 @Zero 简化回答:

df.loc[:, (df.columns > '08:30:00') & (df.columns < '09:00:00')]

关于python - 如何根据列名属性对 Pandas 数据框进行切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427874/

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