gpt4 book ai didi

python - Pandas 在多列上 explode

转载 作者:行者123 更新时间:2023-12-03 14:32:43 50 4
gpt4 key购买 nike

使用 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 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

最佳答案

我想你需要(注意 col4 的数据差异,其中有 None 作为 OP 提到):

pd.DataFrame([[i] if not isinstance(i,list) else i 
for i in d1.values()],index=d1.keys()).T
    user paid  last_active  col4
0 user1 Y 11 Jul 2019 data
1 user2 Y 23 Sep 2018 None
2 user3 N 08 Dec 2019 None
3 user4 N 03 Mar 2018 None

关于python - Pandas 在多列上 explode ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59377817/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com