【发布时间】:2019-03-18 10:18:37
【问题描述】:
我有两个dataframes. my_index 包含基于分钟数据my_index['TIME'] 格式为yyyy-mm-dd hh:mm:ss(总长度100.000 行)的进一步分析的数据。
另一个数据框release_plain包含另一个数据框(长度为 70)内的特定日期时间(相同的时间格式)。两个日期时间都是字符串格式
现在我想将release_plain 的日期与my_index 的日期相匹配,当有匹配时,在新列my_index['Dummy'] 中写一个1,在比赛前后5 分钟的范围内(总共十一 1ns)。
到目前为止我所拥有的:
release_plain = pd.read_csv(infile)
my_index = pd.read_csv(index_file)
datetime = release_plain['Date'].astype(str) + ' ' + release_plain['Time'].astype(str)
list_datetime = list(datetime)
for date_of_interest in list_datetime:
if my_index.loc[my_index['TIME']==date_of_interest]:
my_index['Dummy'] == 1
else:
my_index['Dummy'] == 0
但这会返回:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
此外,据我所知,这只会为特定的 DateTime 创建 1 个 Dummy,而不是 Event 前后 5 分钟的 Dummy Range。
【问题讨论】:
标签: python pandas dataframe match conditional-statements