【问题标题】:How to extract several dataframes from dictionary如何从字典中提取多个数据框
【发布时间】:2019-08-06 07:20:57
【问题描述】:

我目前正在尝试从字典中提取几个数据框。问题是,数据帧的数量会有所不同,有时我会有两个数据帧,有时会有 30 个。

一开始,我从一个数据框 (exceptions_df) 创建了一个字典 (dict_of_exceptions)。在这本词典中,我将有几个数据框,具体取决于我有多少不同的“源井”。使用当前代码,我可以从字典中提取第一个数据帧 j:

dict_of_exceptions = {k: v for k, v in exceptions_df.groupby('Source Well') }

print (dict_of_exceptions)

for k in dict_of_exceptions.keys(): 
    j = dict_of_exceptions[k]

有人可以帮我修改最后一行以遍历字典并提取每个数据帧(并将它们命名为相应的键)吗?

【问题讨论】:

  • 嗨,chrizzly,欢迎来到 SO。你能提供更多关于你想做什么的细节吗?和一些数据?您的循环能够提取字典中的所有数据帧,只是您在每个循环中覆盖了变量j
  • 您好,感谢您的帮助。我使用 .csv 文件作为工作列表来告诉移液机器人他需要从 x 孔移液到 y 孔的体积。如果 x 井中的液体不够,我会得到一个异常文件(如 .csv)。在这个文件中,它说从井 x 到井 y:传输第 10 卷,实际卷 5。从井 x 到井 z:传输第 10 卷,实际卷 0 等等。要知道我需要重新填充多少液体,我想编写一个代码,该代码从 .csv 文件中提取有关在 x 井中缺少多少体积来重新填充它的信息。
  • 感谢您的信息。但我想更好地理解你想用 Python 做什么。例如。 : 你打算用你的j 变量做什么?为什么必须将这些数据框影响到新变量?你不能直接使用字典吗?例如:dict_of_exceptions["well x"] = ...

标签: python-3.x pandas dataframe dictionary key


【解决方案1】:

我想我明白了你的意图,但无法从你的代码中真正读懂你的意图。目前,正如 cmets 中的@cyrilb38 所述,您的循环覆盖了 j,因此您只能看到上次迭代的结果。无论如何,而不是转换使用数据框,我认为(可能是错误的)你将你的行称为数据框。用 dict 替换 groupby 对象不是您想要的,或者它只是徒劳地延长过程。

如果你只想看X井的信息,试试这个

exceptions_df[exceptins_df['Source Well'] == 'Well X']

【讨论】:

    猜你喜欢
    • 2021-10-14
    • 2020-11-23
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2020-09-06
    • 2020-02-03
    • 1970-01-01
    • 2021-01-02
    相关资源
    最近更新 更多