Python 如何防止'ffill'完全删除我的分组列?

Python 如何防止'ffill'完全删除我的分组列?,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,如何防止.ffill()方法在不覆盖val列的情况下删除分组变量 也就是说,不这样做:samp_-df['val']=samp_-df.groupby('ID').ffill() 此外,为什么.groupby的行为方式与.mean()不同,将我的分组变量移动到索引中 import pandas as pd import numpy as np samp_df = pd.DataFrame({'ID': ['A', 'A', 'A', 'B', 'B', 'B'],

如何防止
.ffill()
方法在不覆盖
val
列的情况下删除分组变量

也就是说,不这样做:
samp_-df['val']=samp_-df.groupby('ID').ffill()

此外,为什么
.groupby
的行为方式与
.mean()
不同,将我的分组变量移动到索引中

import pandas as pd
import numpy as np

samp_df = pd.DataFrame({'ID': ['A', 'A', 'A', 'B', 'B', 'B'],
                        'val': [1, 2, np.nan, np.nan, 4, np.nan]})

print(samp_df.groupby('ID').mean())

    val
ID     
A   1.5
B   3.5

print(samp_df.groupby('ID').ffill())

   val
0  1.0
1  2.0
2  2.0
3  NaN
4  4.0
5  4.0

mean is agg function ffill不是为了获得相同的输出,在groupby中执行as_index=False不起作用,如果执行as_index=False,则其行为方式相同。这是否回答了您的问题?