我正在尝试从中删除所有rows内容pandas df。具体来说,当row下面X的内容Col A为空时。因此,如果inrow底下为空,我想删除所有这些行,直到有底下的值XCol AstringX
import pandas as pd
d = ({
'A' : ['X','','','X','Foo','','X','Fou','','X','Bar'],
'B' : ['Val',1,3,'Val',1,3,'Val',1,3,'Val',1],
'C' : ['Val',2,4,'Val',2,4,'Val',2,4,'Val',2],
})
df = pd.DataFrame(data=d)
输出:
A B C
0 X Val Val
1 1 2
2 3 4
3 X Val Val
4 Foo 1 2
5 3 4
6 X Val Val
7 Fou 1 2
8 3 4
9 X Val Val
10 Bar 1 2
我试过了:
df = df[~(df['A'] == 'X').shift().fillna(False)]
但这会删除X后面的所有内容。我只希望在X下的下一行为空的情况下将其删除。
故意的:
A B C
0 X Val Val
1 Foo 1 2
2 3 4
3 X Val Val
4 Fou 1 2
5 4 4
6 X Val Val
7 Bar 1 2
慕娘9325324
三国纷争
慕的地8271018
相关分类