我有一个熊猫数据框,其列名称为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
我认为您很亲密,仅将DataFrame.join
用于附加到原始位置,将DataFrame.join
用于提取列,然后在必要时将字符串转换为数字,并最后重命名的列名称:
也是DataFrame.pop
到列表的列表的必要字符串表示形式]]
DataFrame.pop