亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查時間戳列表的元素是否在包含時間戳的序列中?

如何檢查時間戳列表的元素是否在包含時間戳的序列中?

元芳怎么了 2023-09-26 16:33:30
問題:我想檢查 pandas.Timestamps 列表的哪些條目位于數據幀的 pandas.Timestamp 系列中。問題是,當我使用in運算符檢查列表中的值是否在系列中時,會返回一個空列表,即使特定值在系列中也是如此。代碼:時間戳列表:dates_range = pd.date_range(start="2019-01-01", end="2019-01-31")type(dates_range[0]) # pandas._libs.tslibs.timestamps.Timestamp包含時間戳的系列:type(_2019["dates"]) # pandas.core.series.Seriestype(_2019["dates"].iloc[0]) # pandas._libs.tslibs.timestamps.Timestampdates_range比較和的第一個值_2019["dates"]:_2019["dates"].iloc[0] == dates_range[0] # True癥結:dates_range[0] in _2019["dates"] # Falsedef get_dates_that_exist(data, datetime_arr):    return [date for date in datetime_arr if date in data["dates"]] # Returns []為什么會這樣呢?如何檢查dates_range列表中的日期在_2019[“dates”]中?
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

首先檢查使用 in 運算符:

在 Series 上使用 Python in 運算符測試索引中的成員資格,而不是值之間的成員資格。

因此,如果想要測試是否至少有一個True用于比較布爾掩碼的第一個值并添加Series.any

(_2019["dates"]?==?dates_range[0]).any()

為了測試所有數據range是否匹配至少一個值,請使用Series.isin

_2019["dates"].isin(dates_range).any()

我想知道有哪些值

DataFrame.loc與以下一起使用boolean indexing

matched?=?_2019.loc[_2019["dates"].isin(dates_range),?'dates']

如果需要所有列:

df1?=?_2019[_2019["dates"].isin(dates_range)]


查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號