簡體   English   中英

Pandas 關聯或過濾范圍和分組之間的日期列由另一列

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

我是 pandas 的新手,我正在嘗試對我的 twitter 數據集執行一些 EDA。 數據集列

鏈接到數據集: https://www.kaggle.com/kaushiksuresh147/the-social-dilemma-tweets

Dataframe 樣品:樣品 dataframe

我想過濾在“2020-09-08 和 2020-09-22”之間創建的新用戶(來自 user_created 列),然后將結果與情緒列分組。 我還想計算該新用戶在該期間創建的推文總數,並將其與不在所選范圍內的其他用戶的推文總數進行比較(2020-09-08 和 2020-09-22) .

我嘗試了一種方法,但我的代碼不斷給我錯誤消息: KeyError: 'user_created' code snippet

我也試過這段代碼,它也給了我錯誤信息: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)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM