我有一个列表a=[‘苹果’、‘橘子’、‘芒果’]
我有一个这样的数据框
APPLE APPLE Orange Orange Mango Mango
x. y. x. y. x. y.
1 2 3 3 4 2
: : : : : :
我想对其进行更改,在每第二行之后添加另一个名为FROUT的列,使数据帧如下所示:
APPLE APPLE Fruit Orange Orange Fruit Mango Mango. Fruit
x. y. APPLE x. y. Orange x. y. Mango
1 2 APPLE 3 3 Orange 4 2 Mango
: : APPLE : : : : Mango
无论水果的数量或每个水果的列数如何,都可以动态地实现这一点。只需创建一个系列,它将返回列索引,我们应该在哪个位置
.insert
列以及水果的名称您必须找到与
value_counts()
相同的列名的数量,然后[df.columns.unique()]
就在那里,这样您就可以保持顺序(否则value_counts
将进行排序,这将在不正确的位置添加列)然后,添加1,因为您将在每个重复的水果名称后插入一列(这将使每组的列数增加1)
接下来,取累积和减去1,这将为您提供添加列所需的位置
最后,循环通过
srs
(使用insert
添加列的位置),并同时循环通过fruit
和zip
:这是
srs
的外观,也是您动态添加列的循环:这远不是最好的解决方案,但它是有效的
相关问题 更多 >
编程相关推荐