我有一个包含 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()}
有人可以告诉我为什么不起作用吗?
非常感谢!
最佳答案
如果你只想做
to identify which key contains a dataframe where the Distance Variable is a string
假设'Distance'
是数据框的列名称,那么怎么样:
[k for k, v in d.items() if any(type(e)==str for e in v['Distance'])]
这还有一个额外的好处,即检查“距离”列的每个条目以查看它是否是字符串;与检查 v.dtypes
相反,v.dtypes 的组成可能是异构的,从而只为您提供一个 object
类型。
关于python - 如何在带有数据帧的字典中使用 if/else?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465629/