gpt4 book ai didi

python - 将行数据移动到列(不转置)

转载 作者:行者123 更新时间:2023-12-01 08:08:01 25 4
gpt4 key购买 nike

假设我有user - child多行关系

   user_id  child_id  birth_date gender
0 1 1.0 2018-01-01 m
1 1 2.0 2018-01-03 f
2 1 3.0 2018-01-04 m
3 2 NaN None None

现在我想挑选最小和最大的 child 并将它们放入列中

   user_id kid_1_birth_date kid_1_gender kid_2_birth_date kid_2_gender
0 1 2018-01-01 m 2018-01-04 m
1 2 None None None None

我目前正在做groupby然后是 group.iterrows并向新创建的数据框添加行,想知道是否有更好的方法

我正在使用数据帧并使用 tf.data.Dataset.from_tensor_slices 转换为 tf.data ,并且我输入了最小的 child 和最大的 child 的年龄/性别,这就是我首先转换数据的原因。

最佳答案

一种方法是drop_duplicates,然后merge

df1=df.sort_values('birth_date').drop_duplicates('user_id')
df2=df.sort_values('birth_date').drop_duplicates('user_id',keep='last')
df1.drop('child_id',1).merge(df2.drop('child_id',1),on='user_id',suffixes=('young','old'))
Out[474]:
user_id birth_dateyoung genderyoung birth_dateold genderold
0 1 2018-01-01 m 2018-01-04 m
1 2 NaT None NaT None

关于python - 将行数据移动到列(不转置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55438699/

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