[英]Python Dataframes: Count how many of occurrences of value on specific date and delete based on condition
我正在使用 python 和 pandas 來完成我的任務。 我的 Datafrmae 看起來像這樣:
日期 | 時間 | 營業時間 |
---|---|---|
2021/4/26 | 0800 | 不 |
2021/4/26 | 0900 | 是的 |
2021/4/26 | 1000 | 是的 |
我想通過計算特定日期有多少是和否來確定日期是否是假期 - 如果是的計數小於 7,那么我會認為該日期是假期並將其從我的計算中排除刪除它。
我正在考慮添加一個帶有 boolean 值的假期列。 一直在網上尋找解決方案,但功虧一簣。 我對 Python 很陌生,所以如果我說了什么愚蠢的話,我深表歉意
我們可以在這里使用帶有 groupby 的轉換:
s = df["Business hours"].eq("Yes").groupby(df["Date"]).transform("Sum")
df[s >= 7]
嘗試 groupby 過濾器 function:
def filter_rows(x):
try:
x['Business hours'].value_counts()['Yes'] >= 7
return True
except KeyError as e:
return False
df = df.groupby('Date').filter(filter_rows)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.