【发布时间】:2023-01-26 17:45:49
【问题描述】:
我有一个数据框 df 和一个日期
last_date_pm = datetime.date(2022,12,30)
RiskDate、valStart、valEnd 列也是与 last_date_pm 格式相同的日期
我想打电话
df_s = df.loc[((df['RiskDate'] == df['valStart']) & (df['valEnd'] != last_date_pm)), ['Start'] + selected_cols]
结果是空的,因为这个“和”逻辑似乎没有按预期工作。 我试着打印 df['RiskDate'] == df['valStart'] 它来了
0 False
1 True
2 False
dtype: bool
但是这个 df['valEnd'] != last_date_pm 作为
0 True
1 True
2 True
Name: valEnd, dtype: bool
第二个条件中的额外名称会成为问题吗?
【问题讨论】:
-
print (df.dtypes)是什么? -
RiskDate 对象 valStart 对象 valEnd 对象 dtype:对象
-
如果您的“valEnd”列包含 datetime.date 实例并且不是 DatetimeIndex,那么您的测试将按预期工作。那怎么了?你有什么错误吗?
标签: python pandas dataframe series