繁体   English   中英

如何对 dataframe 和 python 中具有不同字符(.、,、@、$、(、&)的列名进行排序

[英]How to sort column names with different characters(., !, @, $, (, &) in a dataframe with python

我要排序的dataframe有5000多列的名称,包括字符、标点符号、数字、圆点、括号等。 所有这些列都重复 4 次。 重复列的值相同。 header 名称的子集如下所示:

    ['I','single', 'game', 'I.1', 'Cliff', ',', 'on', 'me', 'RT', '@USER', ':', 'Texas', '(', 
     'cont', ')', 'URL', 'RT.1', '@USER.1', ':.1', '4', 'the', 'lingerie', 'party', '?????', 
     'Wednesday', 'ã\x80\x8bhave', 'a.1', 'nice', 'day', ':)', 'RT.2', '@USER.2']

首先,我需要从所有名称中删除 integer 后缀,例如“I.1”应该是“I”,同样,所有列名称中的所有其他后缀。

其次,所有的列都以相同的顺序重复四次。 我需要按照以下顺序对它们进行排序:

      ['I', 'I','I','I','single','single''single''single','game', 'game','game','game','I',  
       'I','I','I','.', 'Cliff', 'Cliff','Cliff','Cliff',','','','',', 'on','on','on','on',  
       .... and so on]

这里的“I's”与“single”和“game”应该放在一起,而不是其他“I's”。 sort_index() 和 reset_index() 等函数给出了排序顺序,但不是我需要的。

任何帮助。

我尝试了不同的方法,但由于字符作为名称的奇怪性质和一长串具有特定格式要求的列,我找不到合适的解决方案。

我找到并为我工作的解决方案是,首先我转置 dataframe。然后我创建一个单独的索引列,其中包含数字,并使用该索引以我重新获取的格式对 dataframe 进行排序。 虽然它可能不是完美的解决方案,但通过这样做,我可以轻松地对其进行进一步的处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM