1. DataFrame 数据筛选函数
这里 str_source 比对是字符串比对, 是str 类型
def query_my_data(df_source, str_source): return df_source["年龄"] == str_source
2.从excel中取值,存到df,并转换成list
a_list = df_check.loc[:, "年龄"].values.tolist()
这个取出来的list,里面的数据全部是 int 类型
3. 循环后,都出空值
for i in alist:
df_target = df_target.loc[query_my_data(df_target, i), :]
print(df_target)
问题原因就是因为str 字符串类型 和 int 整型 不同比较了,所以一定会没值。
解决方案:强制类型转换,比对函数哪里,就直接强转为str类型,同类型比较才行
def query_my_data(df_source, str_source): return df_source["年龄"] == str(str_source)
标签:target,df,DataFrame,source,str,query,pandas,Empty From: https://www.cnblogs.com/haoprogrammer/p/17003382.html