这是我原来的数据框架。每一行都有一封电子邮件和一份地址列表(只有街道可以举例说明)。
email addresses
somename@gmail.com [{'street': 'a'}, {'street': 'b'}]
anothername@gmail.com [{'street': 'c'}]
我期待这个结果:
email street
somename@gmail.com 'a'
somename@gmail.com 'b'
anothername@gmail.com 'c'
在pandas中有更好的方法而不是遍历数组来创建最后一个数据帧吗?
解决办法:您可以使用:
df1=pd.DataFrame({'email':df.email.repeat(df.addresses.str.len()),\
'addresses':np.concatenate(df.addresses.values)})
df1['street']=df1.pop('addresses').apply(pd.Series)
print(df1)
email street
0 somename@gmail.com a
0 somename@gmail.com b
1 anothername@gmail.com c
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar