gpt4 book ai didi

python - Pandas DataFrame 的异常 reshape

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:13 25 4
gpt4 key购买 nike

我有一个这样的DF:

df = pd.DataFrame({'x': ['a', 'a', 'b', 'b', 'b', 'c'],
'y': [1, 2, 3, 4, 5, 6],
})

看起来像:

   x  y
0 a 1
1 a 2
2 b 3
3 b 4
4 b 5
5 c 6

我需要以保持“x”列唯一的方式 reshape 它:

   x    y_1  y_2  y_3
0 a 1 2 NaN
1 b 3 4 5
2 c 6 NaN NaN

所以 'y_N' 列的最大 N 必须等于

max(df.groupby('x').count().values)

并且 x 列必须包含唯一值。

现在我不知道如何获得 y_N 列。

谢谢。

最佳答案

您可以将 pandas.crosstabcumcount 列一起用作 columns 参数:

(pd.crosstab(df.x, df.groupby('x').cumcount() + 1, df.y, 
aggfunc = lambda x: x.iloc[0])
.rename(columns="y_{}".format).reset_index())

enter image description here

关于python - Pandas DataFrame 的异常 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41878228/

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