如何将此 OrderedDict 排序为 pandas 数据框?
How to sort this OrderedDict into a pandas dataframe?
我正在尝试将“epd:amount”中的这些 OrderedDicts 放入具有 3 列的 pandas 数据框中:'@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')])])
它是一个字典,因此您可以通过键获取一个值,然后将其转换为数据框。为简单起见,我删除了您的一些数据。
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'])
我正在尝试将“epd:amount”中的这些 OrderedDicts 放入具有 3 列的 pandas 数据框中:'@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')])])
它是一个字典,因此您可以通过键获取一个值,然后将其转换为数据框。为简单起见,我删除了您的一些数据。
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'])