python - 如何在带有数据帧的字典中使用 if/else?

标签 python dataframe dictionary if-statement

我有一个包含 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/

相关文章:

python - 致命标志解析错误 :Unknown command line flag 'logtostderr'

r - 过滤一列中 > 0 的数据,其余列中 == 0 的数据

Python:如何从字典键中随机选择一个值?

javascript - 如何在 javascript 中包含定义语言文件?

python - ServiceBus 重试逻辑

python - 让 python 进程运行类似于 redis 进程的运行方式(在后台)

python - 一种创建文件和目录而不覆盖的方法

r - 如何将标量值乘以 R data.frame 中的多个列?

python - 根据另一列的日期和类别创建数据排名

arrays - 访问字典中的数组 (swift)