将熊猫列表拆分到不同的列并计算计数

问题描述 投票:1回答:1

我有一个熊猫数据框,其列名称为ids,其中包含列表元素。因此,我想将list列拆分为不同的列。

id          partner_id                       ids
1                12             ["1","4","187275","187358","946475"]
2                12             ["1","191","28925","31441"]
3                16             ["1","2","293915","1573130","293918"]
4                11             ["1","13","294064","1238496"]
5                16             ["1","153339","155025","155029"]

所需的输出:

id          partner_id          id1   id2     id3      id4        id5 
1                12             1     4      187275    187358    946475     
2                12             1     191    28925     31441     NaN     
3                16             1     2      293915    1573130   293918              
4                11             1     13     294064    1238496   NaN       
5                16             1     153339 155025    155029    NaN 

我尝试过的:

df2 = pd.DataFrame(df.parent_path.values.tolist(), index=df.index)

完整代码:

import pandas as pd
import numpy as np
pd.set_option('display.max_columns', 85)
pd.set_option('display.max_rows', 85)
df = pd.read_csv('../dataset/property_location_count.csv',low_memory=False)
df2 = pd.DataFrame(df.ids.values.tolist(), index=df.index)

但是它不会像在这里那样拆分列:https://stackoverflow.com/a/35491399/1138192

python pandas
1个回答
3
投票

我认为您很亲密,仅将DataFrame.join用于附加到原始位置,将DataFrame.join用于提取列,然后在必要时将字符串转换为数字,并最后重命名的列名称:

也是DataFrame.pop到列表的列表的必要字符串表示形式]]

DataFrame.pop    
© www.soinside.com 2019 - 2024. All rights reserved.