pandas数据Empty DataFrame 问题

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)

  

posted @ 2022-12-24 20:53  haoprogrammer  阅读(1566)  评论(0编辑  收藏  举报