这是我的原始数据集的外观:
url boolean details
numberOfPages date
xzy.com 0 {'https://www.eltako.depdf': {'numberOfPages': 440, 'date': '2017-09-20'},'https://new.com': {'numberOfPages': 240, 'date': '2017-09-20'} }
numberOfPages和date列最初为空,而details
列有一个字典。我想遍历所有行(URL)并检查它们的details
列。对于details列中的每个键,我想单独创建一行,然后使用numberOfPages和date值添加列值。结果应该是这样的:
url boolean pdfLink numberOfPages date
xzy.com 0 https://www.eltako.depdf 440 2017-09-20
https://new.com 240 2017-09-20
我试过了,但第二行给了我一个错误:TypeError: string indices must be integers
def arrange(df):
df=df.explode('details').reset_index(drop=True)
out=pd.DataFrame(df['details'].map(lambda x:[x[y] for y in x]).explode().tolist())
Info
col的原始类型是dict。我也尝试将该类型更改为str,但仍然得到相同的错误。然后我尝试将lambda函数更改为:
lambda x:[y for y in x]
但我得到的结果是这样的:
url boolean details 0
xzy.com 0 https://www.eltako.depdf h
Nan Nan t
t
p
所以基本上链接的字符被分解成不同的行。我怎样才能解决这个问题
{'Company URL': {0: 'https://www.eltako.de/'},
'Potential Client': {0: 1},
'PDF Link': {0: nan},
'Number of Pages': {0: nan},
'Creation Date': {0: nan},
'Info': {0: {'https://www.eltako.de/wp-content/uploads/2020/11/Eltako_Gesamtkatalog_LowRes.pdf': {'numberOfPages': 440,
'date': '2017-09-20'}}},1: {'https:new.com: {'numberOfPages': 230,
'date': '2017-09-20'}}}}
目前没有回答
相关问题 更多 >
编程相关推荐