【发布时间】:2020-08-17 08:36:22
【问题描述】:
这是我的代码,我试图按列比较两个数据帧的值并递增 1。代码给出了错误下方的错误。请在这里帮助我。
df_select = pd.read_csv(path,low_memory=False)
df_datahub = pd.read_csv(path1,low_memory=False)
df_select_i = df_select.set_index('medical_event_vod__c')
df_datahub_i = df_datahub.set_index('intact_id')
i, j, k, l, m = 0, 0, 0, 0, 0
for index, row in df_select_i.iterrows():
m += 1
if index in df_datahub_i.index:
i += 1
df_temp_select = df_select_i.loc[index]
df_temp_datahub = df_datahub_i.loc[index]
if df_temp_select['createddate'] == df_temp_datahub['src_sys_cr8_ts'] :
k+=1
else:
j+=1
else:
l += 1
print(m)
print(i)
print(j)
print(k)
print(l)
这是错误:
if df_temp_select['createddate'] == df_temp_datahub['src_sys_cr8_ts'] :
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or
a.all().
【问题讨论】:
-
您正在将数组与值进行比较。打印 df_temp_select['createddate'] 和 df_temp_datahub['src_sys_cr8_ts'] 你会看到一个是 array/series/list 而另一个不是。