gpt4 book ai didi

python - 使用条件将列表的 pandas 列拆分为多列。

转载 作者:行者123 更新时间:2023-11-28 21:36:25 24 4
gpt4 key购买 nike

我有一个包含两列的 pandas dataFrame,如下所示:

d1 = {'Time1': [[93, 109, 187],[159],[94, 96, 154, 169]],
'Time2':[[16, 48, 66, 128],[123, 136],[40,177,192]]}

df = pd.DataFrame(d1)

我需要使用 pandas 将这些列表列拆分为 4 列,分别命名为 1st_half_T1、2nd_half_T1、1st_half_T2 和 2nd_half_T2。条件是,如果 Time <= 96,Time1 split 为 1st_half和 2nd_half 如果 Time > 96并将相同的条件应用于 Time2给出以下输出。

  1st_half_T1           2nd_half_T1     1st_half_T2      2nd_half_T2
0 [93] [109, 187] [16, 48, 66] [128]
1 [] [159] [] [123, 126]
2 [94, 96] [154, 169] [40] [177, 192]

最佳答案

apply与自定义函数一起使用

def my_split(row):
return pd.Series({
'1st_half_T1': [i for i in row.Time1 if i <= 96],
'2nd_half_T1': [i for i in row.Time1 if i > 96],
'1st_half_T2': [i for i in row.Time2 if i <= 96],
'2nd_half_T2': [i for i in row.Time2 if i > 96]
})
df.apply(my_split, axis=1)

Out[]:
1st_half_T1 1st_half_T2 2nd_half_T1 2nd_half_T2
0 [93] [16, 48, 66] [109, 187] [128]
1 [] [] [159] [123, 136]
2 [94, 96] [40] [154, 169] [177, 192]

关于python - 使用条件将列表的 pandas 列拆分为多列。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51021242/

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