我有一个 Dataframe 如下:
A | B |
-----------------
AA | 101 |
AA | 102 |
AA | 103.5|
AA | 104 |
AA | 105 |
基本上,我想添加一个增加1的列,但如果B
是一个十进制数,则它会跳过它,这样我就得到了一个如下所示的 Dataframe :
A | B | C
------------------------
AA | 101 | 1
AA | 102 | 2
AA | 103.5|
AA | 104 | 3
AA | 105 | 4
我试着用这样的方式:
df.insert(2, 'C', range(1, len(df)))
df.loc[is_integer(df['order']), 'detailed_category_id'] =...
但我不太确定这是否正确,所以任何帮助将不胜感激,谢谢!
1条答案
按热度按时间xwbd5t1u1#
可以使用
df['B'].eq(df['B'].astype(int))
检查值是否为整数,然后使用此掩码为掩码的cumsum
建立布尔索引:如果您在A中有组,并希望重新开始对新组计数,则使用
groupby.cumsum
:输出: