我试图过滤一个列,只过滤空白行,然后只过滤另一个列具有特定值的列,这样我就可以从该列中提取前两个单词,并将其分配给空白行。
我的代码是:
df.loc[(df['ColA'].isnull()) & (df['ColB'].str.contains('fmv')), 'ColA'] =
df['ColB'].str.split()[:2]
这个命令执行时没有任何错误,但是当我检查df['ColA'].isnull().sum()
时,它显示的数字和以前一样。
任何帮助都是感激!谢谢!
1条答案
按热度按时间vbkedwbf1#
你的代码运行良好,除了你有一个错字:
但是为什么它不起作用呢?可能是因为你的条件没有被填充在一起。我的意思是你可以有空值,但是对于这些行,没有'fmv'字符串。
示例:
所以上面的代码工作,但没有任何变化。检查一下:
如果结果为0,则
df['ColA'].isnull()
和df['ColB'].str.contains('fmv')
都不匹配。