簡體   English   中英

Python 數據幀:計算特定日期值的出現次數並根據條件刪除

[英]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.

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