问题描述
我试图用上一个日期填写的数据框中缺少一些日期。因此,我想第一部分将是检查holdings_df['date']
是否在d
中。希望您能在我遇到困难时提供帮助。
这是我的职能
在:
def get_holdings_df_date(d):
if (d in holdings_df['Date'].values):
# return holdings_df.loc[holdings_df['Date'] == d]
print('true')
print(get_holdings_df_date('2020-01-02'))
出局:
FutureWarning: elementwise comparison Failed; returning scalar instead,but in the future will perform elementwise comparison
if (d in holdings_df['Date'].values):
None
Traceback (most recent call last):
File "calculatingnav.py",line 130,in <module>
system.exit()
解决方法
这似乎很简单。您的函数可能如下所示:
def get_holdings_df_date(d):
return True if str(d) in holdings_df["Date"].values else False
整个代码示例:
import pandas as pd
test = [
("2020-01-02",34,"Sydney",155),("2020-01-03",31,"Delhi",177),("2020-01-04",16,"Mumbai",81),("2020-01-05",167),("2020-01-06",81,144),("2020-01-07",35,135),("2020-01-08","Colombo",111),("2020-01-09",32,]
holdings_df = pd.DataFrame(test,columns=["Date","x","y","z"])
def get_holdings_df_date(d):
return True if str(d) in holdings_df["Date"].values else False
print(get_holdings_df_date("2020-01-02"))
输出:
True