我正在使用这个数据集:
https://gist.github.com/JafferWilson/2c468679fa66c04c08a0ca624ca92d8f
我想要实现的是:
- 检查当天是星期一还是星期五
- 如果是这样,请从 pandas 的数据框中删除星期一的前 2 小时值和星期五的最后 2 小时值
我尝试使用 pandas 数据帧从 csv 加载值,如下所示:
import pandas as pd
df = pd.read_csv("EURM1.csv")
但我不知道如何按照我想要的方式对数据进行排序。我尝试使用 startdate
和 enddate
,但它们对我没有用。
请帮助我以我想要的形式获取数据。
最佳答案
将列转换为日期时间后,您可以根据您的逻辑轻松地对其执行条件操作:
df["date"] = pd.to_datetime(df["date"], format="%Y.%m.%d %H:%M:%S")
df = df.loc[~((df["date"].dt.weekday_name == "Monday") # Excludes Mondays before 2am
& (df["date"].dt.hour < 2))
& ~((df["date"].dt.weekday_name == "Friday") # Excludes Fridays after 10pm
& (df["date"].dt.hour >= 22))]
关于python - 删除日期时间是特定时间之间的特定日期的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51709244/