【发布时间】:2020-04-10 04:01:15
【问题描述】:
使用 Pandas 0.25.3,尝试分解几列。
数据如下:
d1 = {'user':['user1','user2','user3','user4'],
'paid':['Y','Y','N','N']
'last_active':['11 Jul 2019','23 Sep 2018','08 Dec 2019','03 Mar 2018'],
'col4':'data'}
我将它发送到数据框 df=pd.DataFrame([d1],columns=d1.keys()),如下所示:
user paid last_active col4
['user1','user2','user3','user4'] ['Y','Y','N','N'] ['11 Jul 2019','23 Sep 2018','08 Dec 2019','03 Mar 2018'] 'data'
还有其他列,每个列都有一个值,{'A':'B'} 类型的东西,但我不担心这些。
当我执行 df.explode('user') 时,它适用于那个列,其他列也一样,但是当我尝试执行 df.explode(column=('user','paid','last_active') 时,它给了我以下错误:
KeyError: ('user','paid','last_active')
所以我想知道的是,如何在多个列上使用explode 函数对其进行分解以获得以下df:
user paid last_active col4
'user1' 'Y' '11 Jul 2019' 'data'
'user2' 'Y' '23 Sep 2018' NaN
'user3' 'N' '08 Dec 2019' NaN
'user4' 'N' '03 Mar 2018' NaN
【问题讨论】:
-
只做
df=pd.DataFrame(d1).,没有[] -
它给了我一个错误,因为数组的长度不同(col4 有 1 个元素,其他有多个)
-
@QuangHoang 会给你一行,每行都有
data(不仅仅是第一行)
标签: python pandas dataframe explode