如何在 Pandas 数据框中的特定位置插入一列? (更改熊猫数据框中的列顺序)
Posted
技术标签:
【中文标题】如何在 Pandas 数据框中的特定位置插入一列? (更改熊猫数据框中的列顺序)【英文标题】:How to insert a column in a specific place in Pandas data frame? (Change column order in pandas data frame) 【发布时间】:2020-10-07 11:17:39 【问题描述】:我有一个 pandas 数据框,我想将“F”列移到“B”列之后。有没有办法做到这一点?
A B C D E F
0 7 1 8 1 6
1 8 2 5 8 5 8
2 9 3 6 8 5
3 1 8 1 3 4
4 6 8 2 5 0 9
5 2 N/A 1 3 8
df2
A B F C D E
0 7 1 6 8 1
1 8 2 8 5 8 5
2 9 3 5 6 8
3 1 4 8 1 3
4 6 8 9 2 5 0
5 2 8 N/A 1 3
所以它最终应该看起来像 df2。 提前致谢。
【问题讨论】:
这能回答你的问题吗? how do I insert a column at a specific column index in pandas? & Move column by name to front of table in pandas 【参考方案1】:get_loc
得到B的位置后可以试试df.insert
+df.pop
df.insert(df.columns.get_loc("B")+1,"F",df.pop("F"))
print(df)
A B F C D E
0 7.0 1 6.0 NaN 8 1.0
1 8.0 2 8.0 5.0 8 5.0
2 9.0 3 5.0 6.0 8 NaN
3 1.0 8 NaN 1.0 3 4.0
4 6.0 8 9.0 2.0 5 0.0
5 NaN 2 8.0 NaN 1 3.0
【讨论】:
【参考方案2】:另一种极简主义(而且非常具体!)方法:
df = df[list('ABFCDE')]
【讨论】:
以上是关于如何在 Pandas 数据框中的特定位置插入一列? (更改熊猫数据框中的列顺序)的主要内容,如果未能解决你的问题,请参考以下文章
如何计算包含一组列中的值和 Pandas 数据框中另一列中的另一个值的行数?
Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]