gpt4 book ai didi

python - 使用 pandas 数据框创建新变量并根据日期范围应用条件值

转载 作者:行者123 更新时间:2023-12-01 07:00:05 26 4
gpt4 key购买 nike

这里是 Python 和一般编码的新手,所以这对你们大多数人来说应该是非常基础的。

我基本上使用日期时间索引创建了这个数据框。

这是数据框

df = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')

我现在想向我的 df 添加一个名为“vacation”的新变量,如果日期在 2018-06-24 和 2018-08-24 之间,则值为 1;如果日期不在这些日期之间,则值为 0 。我该怎么做呢?我创建了一个包含假期范围的变量,但我不确定如何将这两个变量放在一起,并在我的数据框中为“假期”创建一个新列。

vacation = pd.date_range(start = '2018-06-24', end='2018-08-24')

提前致谢。

最佳答案

首先,pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')不会创建DataFrame 相反,它将创建一个 DatetimeIndex。然后,您可以将其作为索引或单独的列,将其转换为 DataFrame

# Having it as an index

datetime_index = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')
df = pd.DataFrame({}, index=datetime_index)
# Using numpy.where() to create the Vacation column
df['Vacation'] = np.where((df.index >= '2018-06-24') & (df.index <= '2018-08-24'), 1, 0)

enter image description here

或者

# Having it as a column

datetime_index = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')
df = pd.DataFrame({'Date': datetime_index})
# Using numpy.where() to create the Vacation column
df['Vacation'] = np.where((df['Date'] >= '2018-06-24') & (df['Date'] <= '2018-08-24'), 1, 0)

enter image description here

注意:仅显示数据框 df 的前五行。

关于python - 使用 pandas 数据框创建新变量并根据日期范围应用条件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678832/

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