gpt4 book ai didi

python - 保留列名的最后 2 个元素,用管道分隔 python pandas

转载 作者:行者123 更新时间:2023-12-01 02:30:53 24 4
gpt4 key购买 nike

我有一个 DF,看起来像

a|b|c|d   e|f|g|h   i|j|k|l
1 4 7
2 5 8
3 6 9

我想把它改成这样

|c|d      g|h   k|l
1 4 7
2 5 8
3 6 9

当我使用下面的行时,它会给我最后一个或倒数第二个

test.rename(columns = lambda x: x.split("|")[-1] , inplace = True)
test.rename(columns = lambda x: x.split("|")[-2] , inplace = True)

但是当我如下给出它时,它会执行,但是当我执行 test.head() 时,我收到错误

test.rename(columns = lambda x: x.split("|")[-2:] , inplace = True)

TypeError: unhashable type: 'list'

请提供修复建议。

最佳答案

使用join,因为选择最后2个值会得到list:

test.rename(columns = lambda x: '|'.join(x.split("|")[-2:]) , inplace = True)
print (test)
c|d g|h k|l
0 1 4 7
1 2 5 8
2 3 6 9

另一个解决方案,谢谢Zero :

test.columns = test.columns.str.split('|').str[-2:].str.join('|')

关于python - 保留列名的最后 2 个元素,用管道分隔 python pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830320/

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