- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MultIndex 数据帧,并尝试填充一个值 MAX_PTS_YR
,以便 t+1 年的
> 等于 MAX_PTS_YR
值t
中的 MAX_PTS_YR
。
因此:2016
中的 MAX_PTS_YR
应等于 116
。
使用 nth
,我找到了前一年的 MAX_PTS
:
DF['MAX_PTS_YR'] = DF.groupby(by=['Affiliation','Year'],as_index=False)['PtsYr'].nth(-1)
Affiliation mkid Year PtsYr MAX_PTS_YR
MVPAFL0003 10176228 2015 96.0 NaN
MVPAFL0003 10176228 2015 96.0 NaN
MVPAFL0003 10176228 2015 106.0 NaN
MVPAFL0003 10176228 2015 116.0 116.0
MVPAFL0003 10176228 2016 10.0 NaN
MVPAFL0003 10176228 2016 10.0 NaN
MVPAFL0003 10176228 2016 20.0 NaN
MVPAFL0003 10176228 2016 20.0 NaN
MVPAFL0003 10176228 2016 30.0 NaN
MVPAFL0003 10176228 2016 40.0 NaN
MVPAFL0003 10176228 2016 50.0 NaN
MVPAFL0003 10176228 2016 50.0 NaN
MVPAFL0003 10176228 2016 52.0 NaN
MVPAFL0003 10176228 2016 62.0 NaN
MVPAFL0003 10176228 2016 62.0 NaN
MVPAFL0003 10176228 2016 82.0 NaN
MVPAFL0003 10176228 2016 94.0 NaN
MVPAFL0003 10176228 2016 94.0 NaN
MVPAFL0003 10176228 2016 94.0 NaN
MVPAFL0003 10176228 2016 104.0 NaN
MVPAFL0003 10176228 2016 114.0 114.0
我想我可以fillna
加入那个隶属
组:
DF.groupby(by=['Affiliation'],as_index=False)['MAX_PTS_AFFIL'].fillna(method='ffill',inplace=True)
但是当我这样做时,没有填充 NaN
值。
有什么想法吗?
最佳答案
# get just the series you are filling to simplify things
s1 = df.set_index(['Affiliation', 'Year']).MAX_PTS_YR
# groupby to get the max per group
mx = s1.groupby(level=[0, 1]).max()
# shift your year index by one year
mx.index.set_levels(mx.index.levels[1] + 1, 1, inplace=True)
# fill in missing bits
s1.fillna(mx)
<小时/>
Affiliation Year
MVPAFL0003 2015 NaN
2015 NaN
2015 NaN
2015 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 116.0
2016 114.0
Name: MAX_PTS_YR, dtype: float64
<小时/>
现在分配给 df
df.MAX_PTS_YR = (s1.fillna(mx).values)
df
关于python - Pandas |分组数据框中的 Fillna(ffill) 未填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40939461/
我认为我在概念上遗漏了一些基本概念,但我无法在文档中找到答案。 >>> df=pd.DataFrame({'a':[1,1,2,2,3,3], 'b':[5,np.nan, 6, np.nan, np
我有一个这样的 df: Key Class 1 Green 1 NaN 1 NaN 2 Red 2 NaN 2 NaN 我想转发填充
我正在尝试将我的数据从每天频率上采样到每小时频率,并正向填充缺失数据。 我从以下代码开始: df1 = pd.read_csv("DATA.csv") df1.head(5) 然后我使用以下内容转
在“用于数据分析的 Python”一书中,有一个使用 pandas 的 Series 数据结构进行重新索引的示例。我将这个简单的代码复制到 iPython 笔记本中并运行它,但它没有改变 obj3。
我想要与 pandas dataframe.fillna('ffill') 方法完全相同的行为,但我不想使用最后一个非 NaN 值,而是想自己选择值,例如 [NaN, NaN, NaN, 1, 2,
这是我的初始df China USA 2009 NaN -9 2010 1.2 8 2011 1.5 NaN 2014 5.0 NaN 2015
此页面似乎是文档 pad和 ffill好像它们是同义词。 https://pandas.pydata.org/pandas-docs/stable/missing_data.html 两者之间有什么区
假设我们正在尝试通过列表重新索引数据帧,如下所示: dataframe.reindex(list) 其中确切的数据框和列表并不重要。 现在,如果列表大于原始索引,就会出现一些 NaN。我的问题是,如果
我有以下数据框: id indicator 1 NaN 1 NaN 1 1 1 NaN 1
假设我有一个如下所示的数据框: df = 0 1 2 0 1.0 2.0 3.0 1 4.0 5.0 NaN 2 6.0 NaN NaN 然后可
我有一个大型数据框(400,000 多行),如下所示: data = np.array([ [1949, '01/01/2018', np.nan, 17, '30/11/
我想每小时重新采样一个年度数据帧,包括去年。我怎样才能有效地做到这一点? 我有以下数据框: df2 = pd.DataFrame({'col' : [2, 3]}, index=['2018', '2
假设我有以下 DataFrame: df = pd.DataFrame({'player': ['LBJ', 'LBJ', 'LBJ', 'Kyrie', 'Kyrie', 'LBJ', 'LBJ']
我有一个 MultIndex 数据帧,并尝试填充一个值 MAX_PTS_YR,以便 t+1 年的 MAX_PTS_YR 值 > 等于 t 中的 MAX_PTS_YR。 因此:2016 中的 MAX_P
我希望在我的 pandas 数据框中转发填充一些值,但有一个限制。但是,限制只需要填充连续 nan 计数小于或等于限制的 nan 组。这是一个例子, 创建一个缺少数据的df, import numpy
有没有办法对不是NaN的值使用ffill方法? 我的数据框中有 NaN,但我使用 添加了这些 NaN addNan = sample['colA'].replace(['A'], 'NaN') 这就是
我有一个这样的数据框: A B C E D --------------- 0 a r g g 1 x 2 x f f r 3
我有以下带有一些缺失值的 DataFrame。我想使用 ffill() 来填充 var1 和 var2 中的缺失值,按 date 和 分组>建筑。我一次可以对一个变量执行此操作,但是当我尝试对两个变量
我使用的 pandas 版本是'0.20.1',python 3 虽然有两个问题: question1 , question2 被问到同样的错误,而我发现这两个问题和我的情况不一样。 数据来源于《数据
我有一个数据框,其中的片段看起来像这样 Time Temperature 19 2019-01-01 11:48:51 23.798 20 2
我是一名优秀的程序员,十分优秀!