Pandas 关联或过滤范围和分组之间的日期列

Pandas associate or filter a date column between a range and groupby another column

我是 pandas 的新手,我正在尝试对我的 Twitter 数据集执行一些 EDA。 Dataset column

Link 到数据集:https://www.kaggle.com/kaushiksuresh147/the-social-dilemma-tweets

数据框示例:Sample dataframe

我想过滤在“2020-09-08 和 2020-09-22”之间创建的新用户(来自 user_created 列),然后将结果与情绪列分组。我还想计算该新用户在该时间段内创建的推文总数,并将其与不在所选范围内的其他用户的推文总数进行比较(2020-09-08 和 2020-09-22) .

我尝试了一种方法,但我的代码一直给我错误消息:KeyError: 'user_created'code snippet

我也试过这段代码,它也给我错误 message:KeyError: 'user_created'2nd code

df['user_created'] = pd.to_datetime(df['user_created'])
start = '2020-09-08'
end = '2020-09-20'
df[(df['user_created'] >= start) & (df['user_created'] <= end)]
df[(df['user_created'] >= '2020-09-08') & (df['user_created'] <= '2020-09-22')]
grouped_df = df.groupby(['user_name', 'Sentiment','user_created']).size().reset_index(name="Count")
print(grouped_df.to_string(header=False))

我试过 df.get(user_created) 来检索此列,但它似乎不起作用。

我认为startend应该是日期时间格式(datetime.datetimenp.datetime64pd.Timestamp),而不是字符串格式。

from datetime import datetime

start = datetime.strptime('2020-09-08', '%Y-%m-%d')
end = datetime.strptime('2020-09-20', '%Y-%m-%d')
df[(df['user_created'] >= start) & (df['user_created'] <= end)]