- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我认为我在概念上遗漏了一些基本概念,但我无法在文档中找到答案。
>>> df=pd.DataFrame({'a':[1,1,2,2,3,3], 'b':[5,np.nan, 6, np.nan, np.nan, np.nan]})
>>> df
a b
0 1 5.0
1 1 NaN
2 2 6.0
3 2 NaN
4 3 NaN
5 3 NaN
使用 ffill() 然后使用 bfill():
>>> df.groupby('a')['b'].ffill().bfill()
0 5.0
1 5.0
2 6.0
3 6.0
4 NaN
5 NaN
使用 bfill(),然后使用 ffill():
>>> df.groupby('a')['b'].bfill().ffill()
0 5.0
1 5.0
2 6.0
3 6.0
4 6.0
5 6.0
第二种方式不会破坏分组吗?第一种方法是否始终确保仅使用该组中的其他值填充这些值?
最佳答案
我认为你需要:
print (df.groupby('a')['b'].apply(lambda x: x.ffill().bfill()))
0 5.0
1 5.0
2 6.0
3 6.0
4 NaN
5 NaN
Name: b, dtype: float64
print (df.groupby('a')['b'].apply(lambda x: x.bfill().ffill()))
0 5.0
1 5.0
2 6.0
3 6.0
4 NaN
5 NaN
Name: b, dtype: float64
因为在您的示例中,只有第一个 ffill
或 bfill
是 DataFrameGroupBy.ffill
或DataFrameGroupBy.bfill
,第二个是处理输出Series
。因此它会破坏组,因为 Series
没有组。
print (df.groupby('a')['b'].ffill())
0 5.0
1 5.0
2 6.0
3 6.0
4 NaN
5 NaN
Name: b, dtype: float64
print (df.groupby('a')['b'].bfill())
0 5.0
1 NaN
2 6.0
3 NaN
4 NaN
5 NaN
Name: b, dtype: float64
关于pandas - (pandas) 为什么 .bfill().ffill() 对组的作用与 ffill().bfill() 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403916/
我认为我在概念上遗漏了一些基本概念,但我无法在文档中找到答案。 >>> df=pd.DataFrame({'a':[1,1,2,2,3,3], 'b':[5,np.nan, 6, np.nan, np
我正在尝试在 join_key 中执行以下逻辑。date + book + bdr + COALECSE(cusip,isin,deal,id) +------------+------+------
我有以下数据框: id indicator 1 NaN 1 NaN 1 1 1 NaN 1
我已从库存管理系统中检索了多个商品的库存变动情况: index itemid date sold received balance stock_level 0
假设我有以下 pd.Series: 0 NaN 1 NaN 2 4.0 3 NaN 4 NaN 5 7.0 6 NaN 7 NaN 8
我是 python 和 pandas 的新手,坚持下面提到的请求将 python pandas 数据框中的数据作为 time_stamp dish_id table_no order_
问题 有没有办法在 Pandas 中使用 replace 同时 ffill 和 bfill ? 请参阅以下示例: l = 12 rng = pd.date_range('1/1/2011', peri
Pandas 数据框初学者。我在下面设置了此数据集,其中 A 列和 B 列 (Test.csv) 缺少值: DateTime A B 01-01-20
假设我是一名农民……我经常去田地里采摘所有成熟的苹果、梨和李子。我跟踪每天在名为 pick_counts 的数据框中选择了多少个。 : import pandas as pd import numpy
有一个浮点列,其中存在一些写为 0.00 的空值。 如何像使用 fillna(method='ffill') 一样填充这些 0 值? 最佳答案 首先将 0 替换为缺失值: df['col'] = df
我是一名优秀的程序员,十分优秀!