我的目标是迭代可能的B值列表,这样每个ID(列A)都将有新的行添加C = 0,其中可能的B值以前在DF中不存在。
我有一个 Dataframe :
A B C
0 id1 2 10
1 id1 3 20
2 id2 1 30
可能的B值=[1 2 3]
导致:
A B C
0 id1 1 0
1 id1 2 10
2 id1 3 20
3 id2 1 30
4 id2 2 0
5 id2 3 0
先谢了!
3条答案
按热度按时间aelbi1ox1#
使用一些索引技巧:
输出:
alen0pnh2#
也许你可以创建一个 Dataframe 与列表的元组与可能的B值,并合并它与原来的一个
1hdlvixo3#
这里有一个简单的
pandas
方法来解决这个问题1.将索引设置为
B
(这将有助于以后重新建立索引)1.对列
A
执行Gropuby,然后对列C
应用以下apply函数以重新索引B
x.reindex(range(1,4), fill_value=0)
基本上为每个id获取每组 Dataframex
,然后从range(1,4) = 1,2,3
重新索引它,并用0填充nan值。1.最后,使用
reset_index
将A
和B
返回到 Dataframe 中。