我有一个类似于
的DFa|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:不可用类型:' list'
请告知修复。
答案 0 :(得分:2)
使用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('|')