如果我使用len(df.columns)
,我的数据有3586列。如何重新排序数据序列?
ID V1 V10 V100 V1000 V1001 V1002 ... V990 V991 V992 V993 V994
A 1 9.0 2.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
B 1 1.2 0.1 3.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0
C 2 8.6 8.0 2.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0
D 3 0.0 2.0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0
E 4 7.8 6.6 3.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 0.0
我使用了这个df=df。重新索引(已排序(df.columns),axis=1)
(基于此问题,根据列名对pandas dataframe中的列重新排序),但仍不起作用。
谢谢你们
首先获取所有没有模式V
号
通过筛选str.contains
,然后排序所有其他值通过我ndex.difference
,加在一起并传递到DataFrame.reindex
-首先获取第一个位置的所有非数字非匹配列,然后排序V
数字
列:
L1 = df.columns[~df.columns.str.contains('^V\d+$')].tolist()
L2 = sorted(df.columns.difference(L1), key=lambda x: float(x[1:]))
df = df.reindex(L1 + L2, axis=1)
print (df)
ID V1 V10 V100 V990 V991 V992 V993 V994 V1000 V1001 V1002
A 1 9.0 2.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
B 1 1.2 0.1 3.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
C 2 8.6 8.0 2.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
D 3 0.0 2.0 0.0 3.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
E 4 7.8 6.6 3.0 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
问题内容: 如果我有列表,如何以任意方式重新排序商品? 编辑:我不想洗牌。我想以预定义的方式对它们进行重新排序。(例如,我知道旧列表中的第3个元素应成为新列表中的第一个元素) 问题答案: 你可以这样
问题内容: 我在python / pyspark中有一个带有列的数据框 ,依此类推...... 现在,我在此数据框中添加了新列。 现在,我必须安排这样的列的列来后 我已经完成如下 我收到此错误 为什么会发生此错误。我该如何纠正。 问题答案: 您可以用来更改列的顺序:
我有两个dataframes(df1和df2,如下所示),它们的列在顺序和计数上都不同。我需要将这两个数据页追加到一个Excel文件中,其中的列顺序必须按照下面中指定的顺序。 df1为: 我正在尝试使用根据Col_list重新排序我的dataframe。对于dataframe中不存在的列值,该值可以是NaN。 这不能正常工作。如何实现此重新排序? 我尝试了以下方法:
问题内容: 我有一堆具有相同列但顺序不同的csv文件。我们正在尝试使用SQL * Plus上载它们,但是我们需要具有固定列排列的列。 例 所需订单:ABCDEF csv文件:ACDEB(有时列不在csv中,因为它不可用) 用python可以实现吗?我们正在使用Access + Macros来做…但这太浪费时间了 PS。对不起,如果有人对我的英语能力感到沮丧。 问题答案: 您可以使用csv模块读取,
问题内容: 我有一个4d numpy数组,该数组代表具有3d实例的数据集。可以说数组的形状是。 如何将数组的形状更改为? -–问题更新似乎rollaxis和transpose都能解决问题。 感谢您的回复! 问题答案: 该函数完全可以实现您想要的功能,您可以传递轴参数来控制要交换的轴: b的轴是a的轴的置换版本:b的轴0是a的第3轴,b的轴1是a的第0轴,依此类推… 这样,您可以在第二或第三位指定要
我是Python的业余爱好者,我制作了一个程序,可以对长字符串进行编码并输出6个字符。 标记将数字(n)转换为字符。大写和小写字母,包括“-”和“”字符。 这是编码的其余部分。 同样,是否有方法为输出的六个字符创建顺序? 这是我到目前为止所拥有的。我从一个现有的问题中得到了这个。 如何在python中重新排序列表? 但是...它给了我这个: 我想发生的事: 我对这个完全陌生。请帮助:)