标签:Python与Excel,pandas
在Excel中,可以通过功能区或者快捷菜单中的命令或快捷键插入列,对于Python来说,插入列也很容易。
我们已经探讨了如何将行插入到数据框架中,并且我们必须为此创建一个定制的解决方案。将列插入数据框架要容易得多,因为pandas提供了一个内置的解决方案。我们将看到一些将列插入到数据框架的不同方法。
.insert()方法
最快的方法是使用pandas提供的.insert()方法。该方法接受以下参数:
让我们使用前面的示例来演示。我们的目标是在第一列之后插入一个值为100的新列。注意,insert()方法将覆盖原始的df。
图1
方括号法
现在给列赋值,而不是引用它。继续上一个示例:
图2
看看创建计算列有多容易?注意,此方法还可以通过向原始df添加一个新列来覆盖它,这正是我们所需要的。但是,使用此方法无法选择要添加新列的位置,它将始终添加到数据框架的末尾。
通过重新赋值更改列顺序
那么,如果我想在“新列”列之后插入这一列列,该怎么办?没问题!
记住,我们可以通过将列名列表传递到方括号中来引用多列?例如,df[['列1','列2','列3']]将为我们提供一个包含三列的数据框架,即“列1”、“列2”和“列3”。最好的情况是,列顺序与你键入这些名称的顺序完全相同。
图3
这样,我们可以根据自己的喜好对列名列表进行排序,然后将重新排序的数据框架重新分配给原始df。
图4
使用.reindex()改变列顺序
这基本上是相同的思想——对列名重新排序,此方法与前一种方法的唯一区别在于语法。
图5
插入多列到数据框架中
insert()和”方括号”方法都允许我们一次插入一列。如果需要插入多个列,只需执行循环并逐个添加列。但是,如果有许多列,并且数据集很大,那么循环方法将非常慢,还有其他更有效的方法,后续会介绍。
注:本文学习整理自pythoninoffice.com。