我的数据集如下所示
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())
如果我正确理解您的代码,那么lambda函数期望每个
x
都是一个字符串,对吗使用
x[y]
期望y
为整数,并要求x
的第y
个元素您可以通过以下方式直接访问字符串的每个字符:
相关问题 更多 >
编程相关推荐