假设我们有一个如下df
df = pd.DataFrame({ 'Col1' : [1, 1, 1, 2, 2, 2, 2],
'Col2' : [5, 6, 8, 3, 7, 8, 5],
'Col3' : [2, None, None, 3, None, None, 4],
'Col4' : [3, None,5, None, 8, None, 66],
'Col5': [None, 8, 6, None, 9, 6,None],
'Col6' : [3,5,2,5,2,7,9]})
我想在第一列None
上应用Col3
后,使用jjs Col4
建议的解决方案替换列Col5
,in this post here和groupby
中的Col1
值。
我的方式是
df = df.groupby('Col1')['Col3','Col4','Col5'].ffill().bfill()
但手动提及列是很多工作。
所以,我想知道如何通过切片选择qazxsw poi,qazxsw poi和qazxsw poi列?
谢谢
Tbh,我不确定我理解你的问题。
据我所知,你可以直截了当地做
Col3
因为Col4
和Col5
不会改变你的列没有df.groupby('Col1').ffill().bfill()
s。
现在,如果您事先知道哪些列需要回填/填充并希望减少详细程度,您可以将它们保存在ffill()
变量中
bfill()
此解决方案以您希望的方式填充所有NaN列:
NaN