gpt4 book ai didi

python - 如何在 Pandas 数据框中添加另一个配对列?

转载 作者:行者123 更新时间:2023-12-04 02:36:57 24 4
gpt4 key购买 nike

df = pd.DataFrame({'col1':['a-b', 'c-d', 'e-f', 'g-h', 'i-j', 'k-l','b-a', 'd-c', 'f-e', 'h-g', 'j-i', 'l-k']})

尽管顺序似乎颠倒了,但您有一个组合重叠的列。但是如何在另一侧添加另一列以实际显示它们是相同的,如下所示:

df2 = pd.DataFrame({'col1':['a-b', 'c-d', 'e-f', 'g-h', 'i-j', 'k-l','b-a', 'd-c', 'f-e', 'h-g', 'j-i', 'l-k']
,'col2':['a-b', 'c-d', 'e-f', 'g-h', 'i-j', 'k-l','a-b', 'c-d', 'e-f', 'g-h', 'i-j', 'k-l']})

真实的数据是alpha beta的顺序不可预测的,很头疼。

提前谢谢你。

最佳答案

map with ord 并获取每一行的 sum ,然后是groupby()+transform('first'):

f = df['col1'].str.split('-').explode().map(ord).sum(level=0)
df.assign(col2=df.groupby(f).transform('first'))

   col1 col2
0 a-b a-b
1 c-d c-d
2 e-f e-f
3 g-h g-h
4 i-j i-j
5 k-l k-l
6 b-a a-b
7 d-c c-d
8 f-e e-f
9 h-g g-h
10 j-i i-j
11 l-k k-l

关于python - 如何在 Pandas 数据框中添加另一个配对列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61322281/

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