如何将此 OrderedDict 排序为 pandas 数据框?
Posted
技术标签:
【中文标题】如何将此 OrderedDict 排序为 pandas 数据框?【英文标题】:How to sort this OrderedDict into a pandas dataframe? 【发布时间】:2021-10-24 23:34:19 【问题描述】:我正在尝试将“epd:amount”中的这些 OrderedDicts 放入具有 3 列的 pandas Dataframe:'@xmlns:epd'; '@epd: 模块' ; '#文本'。我现在尝试了一段时间。有人猜对了吗?
OrderedDict([('epd:amount',
[OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A1'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A2'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A3'),
('#text', '0.927477418791169')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A1-A3'),
('#text', '0.927477418791169')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A5'),
('#text', '5.83315996933576')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'C2'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'C3'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'D'),
('@epd:scenario', 'energetisch'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'D'),
('@epd:scenario', 'stofflich'),
('#text', '0.0')])])
【问题讨论】:
向社区证明您也在致力于解决您的问题,这一点很重要。你都尝试了些什么?最好的展示方式是包含您的代码尝试的 text 版本。如果上面的数据要存储在变量“foo”中,pandas.DataFrame(foo['epd:amount'])
会给你什么?
我以后会做的。这是生命周期分析数据,它显示了玻璃材料不同生命阶段的二氧化碳排放值。我会在未来提供更多的上下文。感谢您的努力!
【参考方案1】:
它是一个字典,所以你可以通过key获取一个值,然后将其转换为dataframe。为简单起见,我删除了您的一些数据。
import pandas as pd
from collections import OrderedDict
x = OrderedDict([('epd:amount',
[OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'A1'),
('#text', '0.0')]),
OrderedDict([('@xmlns:epd',
'http://www.iai.kit.edu/EPD/2013'),
('@epd:module', 'D'),
('@epd:scenario', 'stofflich'),
('#text', '0.0')])])])
df = pd.DataFrame(data['epd:amount'])
【讨论】:
没问题,非常有趣的数据!以上是关于如何将此 OrderedDict 排序为 pandas 数据框?的主要内容,如果未能解决你的问题,请参考以下文章