gpt4 book ai didi

python - Pandas 。将数据框中具有相同值的所有列合并为单列

转载 作者:行者123 更新时间:2023-12-02 18:35:05 26 4
gpt4 key购买 nike

假设我有数据框

df = pd.DataFrame({'a': [1,1,1,1, 0,0,0],
'b': [1,1,1,1, 0,0,0],
'c': [1,1,1,1, 0,0,0],
'd': [0,0,0,0, 1,1,1],
'e': [0,0,0,0, 1,1,1],
'f': [0,0,0,0, 1,1,1]})

   a  b  c  d  e  f
0 1 1 1 0 0 0
1 1 1 1 0 0 0
2 1 1 1 0 0 0
3 1 1 1 0 0 0
4 0 0 0 1 1 1
5 0 0 0 1 1 1
6 0 0 0 1 1 1

是否有一种有效的方法将具有相同值的所有列折叠到看起来像这样的数据框中

final_df = pd.DataFrame({'a/b/c': [1,1,1,1, 0,0,0],
'd/e/f': [0,0,0,0, 1,1,1]})

   a/b/c  d/e/f
0 1 0
1 1 0
2 1 0
3 1 0
4 0 1
5 0 1
6 0 1

最佳答案

这很有趣:

df.apply(
lambda s: s.reset_index(name="val")
.groupby("val")["index"]
.agg("/".join)
.reset_index()
.set_index("index")
.squeeze(),
axis=1,
)

输出:

index  a/b/c  d/e/f
0 1 0
1 1 0
2 1 0
3 1 0
4 0 1
5 0 1
6 0 1

关于python - Pandas 。将数据框中具有相同值的所有列合并为单列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68899026/

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