我有一个包含1000个数据帧的字典,但为简化起见,现在假设3个数据帧。
d = {'key1': DataFrame, 'key2': DataFrame, 'key3': DataFrame}
所有数据框具有相同的变量:距离,国家/地区,价格。我想确定哪个键包含距离变量为字符串的数据框。也许通过创建一个新字典,其字典中的键指示变量距离是否为字符串。
我尝试使用以下代码,但无法正常工作。
comprobar = {"str_in_values_of_{}".format(k) if v[v.dtypes['Hour']==np.str] in v else ".".format(k): v for k, v in d.items()}
有人可以告诉我为什么不工作吗?
非常感谢!
答案 0 :(得分:0)
如果您只想做
标识哪个键包含距离变量的数据框 是一个字符串
并假设'Distance'
是您数据框的列名,然后如何做:
[k for k, v in d.items() if any(type(e)==str for e in v['Distance'])]
这具有检查“距离”(Distance)列中的每个单个条目以查看是否为字符串的附加好处;而不是对照v.dtypes
进行检查,后者的组成可能不同,因此只为您提供object
类型。